home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / PRGMMING / PBVL110.ZIP / PBVLITE.DOC < prev    next >
Encoding:
Text File  |  1994-11-10  |  112.2 KB  |  2,642 lines

  1.  
  2.  
  3.               THERE IS NO NEED TO PRINT THIS ENTIRE DOCUMENT,
  4.           The entire PB/VISION(tm) LITE reference manual can be
  5.           accessed directly through PowerBASIC's built-in help
  6.           system.  Copy PBVLITE.PBH in the same directory as
  7.           PB.EXE and then press CTRL-F1 until the PB/VISION(tm)
  8.           index appears.
  9.  
  10.  
  11.           ┌───────────────────────────────────────────────────────┐
  12.           │                                                       │
  13.           │            P B / V I S I O N (tm)   L I T E           │
  14.           │      Visual Windowing Library for PowerBASIC 3.0      │
  15.           │              SHAREWARE EVALUATION VERSION             │
  16.           │                                                       │
  17.           │                     Documentation                     │
  18.           │                                                       │
  19.           │    (c) Copyright 1993-94 DSE Software Publishing      │
  20.           │       Licensed Material.  All Rights Reserved.        │
  21.           │                                                       │
  22.           │        ┌────────────────────────────────────┐         │
  23.           │        │ ▀▀▀▀▀▀▀▀\      ▀▀▀▀▀▀\ ▀▀▀▀▀▀▀▀▀▀\ │         │
  24.           │        │  ▀▀▀\   ▀\    ▀▀\   ▀▀\ ▀▀▀\   ▀▀\ │         │
  25.           │        │  ▀▀▀\    ▀\  ▀▀\     ▀\ ▀▀▀\    ▀\ │         │
  26.           │        │  ▀▀▀\    ▀▀\ ▀▀\        ▀▀▀\       │         │
  27.           │        │  ▀▀▀\    ▀▀\ ▀▀▀\       ▀▀▀\ ▀\    │         │
  28.           │        │  ▀▀▀\    ▀▀\  ▀▀▀\      ▀▀▀\ ▀\    │         │
  29.           │        │  ▀▀▀\    ▀▀\    ▀▀▀\    ▀▀▀▀▀▀\    │         │
  30.           │        │  ▀▀▀\    ▀▀\      ▀▀▀\  ▀▀▀\ ▀\    │         │
  31.           │        │  ▀▀▀\    ▀▀\       ▀▀▀\ ▀▀▀\ ▀\    │         │
  32.           │        │  ▀▀▀\    ▀▀\        ▀▀\ ▀▀▀\       │         │
  33.           │        │  ▀▀▀\    ▀\  ▀\     ▀▀\ ▀▀▀\    ▀\ │         │
  34.           │        │  ▀▀▀\   ▀\   ▀▀\   ▀▀\  ▀▀▀\   ▀▀\ │         │
  35.           │        │ ▀▀▀▀▀▀▀▀\     ▀▀▀▀▀▀\  ▀▀▀▀▀▀▀▀▀▀\ │         │
  36.           │        └────────────────────────────────────┘         │
  37.           │                                                       │
  38.           │                DSE Software Publishing                │
  39.           │                  Post Office Box 96                   │
  40.           │                Willits, CA 95490-0096                 │
  41.           │                    (707) 459-4358                     │
  42.           │                 FAX: (707) 459-4484                   │
  43.           │                                                       │
  44.           │        InterNet: dse.software@genie.geis.com          │
  45.           │           DSE Online! BBS - (707) 459-4484            │
  46.           │                 GEnie: DSE.SOFTWARE                   │
  47.           │                                                       │
  48.           └───────────────────────────────────────────────────────┘
  49.  
  50.           PowerBASIC is a registered trademark of PowerBASIC, Inc.
  51.           PB/VISION(tm) and PB/WORKSHOP(tm) are trademarks of DSE
  52.           Software Publishing.  Other product names are trademarks
  53.           or registered trademarks of their respective holders.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                     Contents
  64.  
  65.  
  66.                   Information for Users  . . . . . . . . . . . . . . 2
  67.                   Warranty   . . . . . . . . . . . . . . . . . . . . 2
  68.                   License for Use and Distribution   . . . . . . . . 2
  69.                   Installation . . . . . . . . . . . . . . . . . . . 3
  70.                   Technical Support  . . . . . . . . . . . . . . . . 3
  71.  
  72.                Chapter 1  WINDOW MANAGEMENT ROUTINES                 5
  73.                   App - VARIABLE . . . . . . . . . . . . . . . . . . 5
  74.                   AppClose - PROCEDURE . . . . . . . . . . . . . . . 5
  75.                   AppFontInit - PROCEDURE  . . . . . . . . . . . . . 6
  76.                   AppInit - PROCEDURE  . . . . . . . . . . . . . . . 6
  77.                   AppPause - PROCEDURE . . . . . . . . . . . . . . . 6
  78.                   AppRefresh - PROCEDURE . . . . . . . . . . . . . . 7
  79.                   AppResume - PROCEDURE  . . . . . . . . . . . . . . 7
  80.                   AppTitle - PROCEDURE . . . . . . . . . . . . . . . 7
  81.                   Attr% - FUNCTION . . . . . . . . . . . . . . . . . 8
  82.                   MapChar - PROCEDURE  . . . . . . . . . . . . . . . 8
  83.                   MapUserChar - PROCEDURE  . . . . . . . . . . . . . 9
  84.                   WinTitle - PROCEDURE . . . . . . . . . . . . . . . 9
  85.                   WinClose - PROCEDURE . . . . . . . . . . . . . . . 9
  86.                   WinCls - PROCEDURE . . . . . . . . . . . . . . .  10
  87.                   WinColor - PROCEDURE . . . . . . . . . . . . . .  10
  88.                   WinCopy% - FUNCTION  . . . . . . . . . . . . . .  11
  89.                   WinDeleteLine - PROCEDURE  . . . . . . . . . . .  11
  90.                   WinDrawBox - PROCEDURE . . . . . . . . . . . . .  11
  91.                   WinFill - PROCEDURE  . . . . . . . . . . . . . .  12
  92.                   WinGet - FUNCTION  . . . . . . . . . . . . . . .  12
  93.                   WinGetCursor - PROCEDURE . . . . . . . . . . . .  13
  94.                   WinGetInfo - PROCEDURE . . . . . . . . . . . . .  13
  95.                   WinHide - PROCEDURE  . . . . . . . . . . . . . .  14
  96.                   WinHotPrint - PROCEDURE  . . . . . . . . . . . .  14
  97.                   WinInsertLine - PROCEDURE  . . . . . . . . . . .  15
  98.                   WinInstallCode - PROCEDURE . . . . . . . . . . .  15
  99.                   WinLocate - PROCEDURE  . . . . . . . . . . . . .  15
  100.                   WinLock - PROCEDURE  . . . . . . . . . . . . . .  16
  101.                   WinLockAll - PROCEDURE . . . . . . . . . . . . .  16
  102.                   WinLockState% - FUNCTION . . . . . . . . . . . .  17
  103.                   WinLockRestore - PROCEDURE . . . . . . . . . . .  17
  104.                   WinMain - PROCEDURE  . . . . . . . . . . . . . .  17
  105.                   WinMaximize - PROCEDURE  . . . . . . . . . . . .  18
  106.                   WinMinimize - PROCEDURE  . . . . . . . . . . . .  18
  107.                   WinNormalize - PROCEDURE . . . . . . . . . . . .  19
  108.                   WinModify - PROCEDURE  . . . . . . . . . . . . .  19
  109.                   WinMove - PROCEDURE  . . . . . . . . . . . . . .  20
  110.  
  111.                                           i
  112.  
  113.  
  114.  
  115.                   WinNext - PROCEDURE  . . . . . . . . . . . . . .  20
  116.                   WinOpen% - FUNCTION  . . . . . . . . . . . . . .  20
  117.                   WinPopup% - FUNCTION . . . . . . . . . . . . . .  22
  118.                   WinPrev - PROCEDURE  . . . . . . . . . . . . . .  22
  119.                   WinPrint - PROCEDURE . . . . . . . . . . . . . .  23
  120.                   WinReColor - PROCEDURE . . . . . . . . . . . . .  23
  121.                   WinRefresh - PROCEDURE . . . . . . . . . . . . .  23
  122.                   WinRefreshMode - PROCEDURE . . . . . . . . . . .  24
  123.                   WInResize - PROCEDURE  . . . . . . . . . . . . .  24
  124.                   WinScrollBarGet - PROCEDURE  . . . . . . . . . .  25
  125.                   WinScrollBarSet - PROCEDURE  . . . . . . . . . .  25
  126.                   WinShow - PROCEDURE  . . . . . . . . . . . . . .  26
  127.                   WinSwapColor - PROCEDURE . . . . . . . . . . . .  26
  128.                   WinViewPort - PROCEDURE  . . . . . . . . . . . .  27
  129.                   WinWrite - PROCEDURE . . . . . . . . . . . . . .  27
  130.                   WinWriteChar - PROCEDURE . . . . . . . . . . . .  27
  131.                   WinWriteLn - PROCEDURE . . . . . . . . . . . . .  28
  132.  
  133.                Chapter 2  EVENT MANAGEMENT ROUTINES                 29
  134.                   GetEvent% - FUNCTION . . . . . . . . . . . . . .  29
  135.                   HotKeyAdd - PROCEDURE  . . . . . . . . . . . . .  30
  136.                   HotKeyToggle - PROCEDURE . . . . . . . . . . . .  31
  137.                   TimerInstallCode - PROCEDURE . . . . . . . . . .  31
  138.                   WinCtrlBox - PROCEDURE . . . . . . . . . . . . .  32
  139.  
  140.                Chapter 3  MOUSE ROUTINES                            33
  141.                   Mouse% - FUNCTION  . . . . . . . . . . . . . . .  33
  142.                   MouseCursorOff - PROCEDURE . . . . . . . . . . .  34
  143.                   MouseCursorOn - PROCEDURE  . . . . . . . . . . .  34
  144.                   MouseGet% - FUNCTION . . . . . . . . . . . . . .  34
  145.                   MouseGetInfo - PROCEDURE . . . . . . . . . . . .  35
  146.                   MouseGetPress% - FUNCTION  . . . . . . . . . . .  35
  147.                   MouseGetRelease% - FUNCTION  . . . . . . . . . .  36
  148.                   MouseInit% - FUNCTION  . . . . . . . . . . . . .  37
  149.                   MouseSet - PROCEDURE . . . . . . . . . . . . . .  37
  150.                   MouseSetWindow - PROCEDURE . . . . . . . . . . .  38
  151.                   MouseTerm - PROCEDURE  . . . . . . . . . . . . .  38
  152.  
  153.                Chapter 4  DATA TYPES USED                           39
  154.                   MENUCOLORTYPE - TYPE . . . . . . . . . . . . . .  39
  155.                   WINTYPE - TYPE . . . . . . . . . . . . . . . . .  39
  156.  
  157.                Index                                                41
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.                                          ii
  170.           PB/VISION(tm) LITE - Version 1.10
  171.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  172.  
  173.           Information for Users
  174.           ─────────────────────────────────────────────────────────────────
  175.  
  176.                PB/VISION(tm) LITE is a shareware program.  This evaluation
  177.                version includes all features of the program, and is not
  178.                crippled in any way. You may use it for up to 30 days,
  179.                without charge (see ORDER_ME.TXT for more details).  If you
  180.                like the program, and wish to continue its use after this
  181.                evaluation period, you are required to pay for the program
  182.                (see ORDER_ME.TXT for more details).  Any fee you may have
  183.                paid to others (disk vendors, dealers, etc.) to obtain this
  184.                evaluation version was a fee for their copying and
  185.                distribution services, rather than a payment for continued
  186.                use of the program.
  187.  
  188.           Warranty
  189.           ─────────────────────────────────────────────────────────────────
  190.  
  191.                LIMITED WARRANTY
  192.  
  193.                THIS SOFTWARE AND MANUAL ARE PROVIDED FOR EVALUATION ONLY,
  194.                ON  AN "AS IS" BASIS.  DSE SOFTWARE PUBLISHING DISCLAIMS ALL
  195.                WARRANTIES RELATING TO THIS SOFTWARE, WHETHER EXPRESSED  OR
  196.                IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
  197.                OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  198.                NEITHER DSE SOFTWARE PUBLISHING NOR ANYONE ELSE WHO HAS BEEN
  199.                INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS
  200.                SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR
  201.                INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
  202.                USE SUCH SOFTWARE, EVEN IF DSE SOFTWARE PUBLISHING HAS BEEN
  203.                ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS.  THE
  204.                PERSON USING THE SOFTWARE BEARS ALL RISK AS TO THE QUALITY
  205.                AND PERFORMANCE OF THE SOFTWARE.
  206.  
  207.                This agreement shall be governed by the laws of the State of
  208.                California and shall inure to the benefit of DSE Software
  209.                Publishing and any successors, administrators, heirs and
  210.                assigns. Any action or proceeding brought by either party
  211.                against the other arising out of or related to this
  212.                agreement shall be brought only in a STATE or FEDERAL COURT
  213.                of competent jurisdiction located in Mendocino County, CA.
  214.                The parties hereby consent to in personam jurisdiction of
  215.                said courts.
  216.  
  217.           License for Use and Distribution
  218.           ─────────────────────────────────────────────────────────────────
  219.  
  220.                TRIAL USE LICENSE
  221.  
  222.                PB/VISION(tm) LITE is NOT a public domain program.  It is
  223.                copyrighted by DSE Software Publishing.  This software and
  224.                accompanying documentation are protected by United States
  225.                copyright law and also by international treaty provisions.
  226.  
  227.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  228.           (c) Copyright 1993-94 DSE Software Publishing                  2
  229.           PB/VISION(tm) LITE - Version 1.10
  230.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  231.  
  232.                DSE Software Publishing grants you a limited license to use
  233.                this software for evaluation purposes for a period not to
  234.                exceed thirty days.  If you continue using this software
  235.                after the thirty-day evaluation period, you MUST make a
  236.                registration payment to DSE Software Publishing.
  237.  
  238.                You may not use, copy, rent, lease, sell, modify, decompile,
  239.                disassemble, otherwise reverse engineer, or transfer the
  240.                licensed program except as provided in this agreement.  Any
  241.                such unauthorized use shall result in immediate and
  242.                automatic termination of this license. All rights not
  243.                expressly granted here are reserved to DSE Software
  244.                Publishing.
  245.  
  246.           Installation
  247.           ─────────────────────────────────────────────────────────────────
  248.  
  249.                The installation procedure for PB/VISION(tm) LITE is quite
  250.                simple.  Simply copy all of the included files into either
  251.                your PowerBASIC directory.  You may also place it in an
  252.                entirely different directory if that is your choice.  In
  253.                either case, you will need about 650k of available disk
  254.                space on the hard drive on which you plan to install
  255.                PB/VISION(tm) LITE.
  256.  
  257.                It is _very_ important that you place PBVLITE.PBH in the
  258.                same directory as the PowerBASIC IDE (PB.EXE).  This will
  259.                allow you to access the entire PB/VISION(tm) LITE
  260.                documentation directly through PowerBASIC's built-in help
  261.                system.
  262.  
  263.                While in PB.EXE, to bring up our help screens, place the
  264.                cursor on a keyword and press <CTRL-F1>.  To then bring up
  265.                the index to all of the PB/VISION(tm) routines.
  266.  
  267.                YOU'RE READY TO GO
  268.  
  269.                Once you've completed the installation, you should consult
  270.                TUTORIAL.DOC.  That file will tell you how to use all of the
  271.                PB/VISION(tm) features, and will give you other information
  272.                you need to properly evaluate PB/VISION(tm) LITE.  We hope
  273.                you enjoy the program.
  274.  
  275.           Technical Support
  276.           ─────────────────────────────────────────────────────────────────
  277.  
  278.                If you have any problems, please read this file,
  279.                HELPME!.DOC,  and TUTORIAL.DOC first.  If you still have a
  280.                question and need assistance, help is available from the
  281.                following sources:
  282.  
  283.                     1.   DSE Online! BBS at 707-459-4484. 24 hours @
  284.                          1200-14.4K.
  285.  
  286.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  287.           (c) Copyright 1993-94 DSE Software Publishing                  3
  288.           PB/VISION(tm) LITE - Version 1.10
  289.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  290.  
  291.                     2.   GEnie: address messages to "DSE.SOFTWARE".  Do not
  292.                          send us x-modem mail on GEnie.  We will not accept
  293.                          the file and your account will be billed for it.
  294.  
  295.                     3.   InterNet: "dse.software@genie.geis.com"
  296.  
  297.                     4.   CompuServe: "INTERNET:dse.software@genie.geis.com"
  298.  
  299.                     5.   If you have an urgent problem that cannot wait,
  300.                          you may call the DSE Technical Support Department
  301.                          at (707) 459-4358 from 10:00 AM to 5:00 PM.  Calls
  302.                          outside these hours will not be answered.  Please
  303.                          have the following information ready before
  304.                          calling:
  305.  
  306.                     a.   Computer brand, model, and the brands and mode
  307.                          numbers of any additional hardware.
  308.  
  309.                     b.   Operating system and version number. (The version
  310.                          number can be determined by typing VER at the DOS
  311.                          prompt.)
  312.  
  313.                     c.   Contents of your AUTOEXEC.BAT file.
  314.  
  315.                     d.   Contents of your CONFIG.SYS file.
  316.  
  317.                     e.   You will have to have read TUTORIAL.DOC.  Our help
  318.                          staff may quiz you ;)
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  346.           (c) Copyright 1993-94 DSE Software Publishing                  4
  347.           PB/VISION(tm) LITE - Version 1.10
  348.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  349.  
  350.                                       Chapter 1
  351.  
  352.                              WINDOW MANAGEMENT ROUTINES
  353.  
  354.           █████████████████████████████████████████████████████████████████
  355.  
  356.           App - VARIABLE
  357.           ─────────────────────────────────────────────────────────────────
  358.  
  359.            PURPOSE: Defines PB/VISION start-up display parameters.
  360.  
  361.            REMARKS: This variable has the following element(s):
  362.  
  363.                     Element           Description
  364.                     ────────────────  ────────────────────────────────────
  365.                     App.attr          Color of background fill-pattern.
  366.                     App.flags         Application initialization flags.
  367.                     App.graphicsMode  0=text, 1=graphics.
  368.                     App.graphicsMouse 0=text mouse, 1=graphical mouse.
  369.                     App.menuAttr      Color of menu bar (if enabled).
  370.                     App.Pattern       Screen fill-pattern (0 = none).
  371.                     App.rows          Number of lines to use on screen.
  372.  
  373.                                       Value  Description
  374.                                       ─────  ──────────────────────────────
  375.                                         0    Use default size.
  376.                                        25    25 lines (all systems).
  377.                                        28    28 lines (VGA Only).
  378.                                        30    30 lines (VGA Only).
  379.                                        43    43 lines (EGA, VGA).
  380.                                        50    50 lines (EGA, VGA).
  381.  
  382.                     App.statusAttr    Color of status bar (if enabled).
  383.                     App.title         See APPTITLE() routine.
  384.                     App.titleAttr     Color of program title (if enabled).
  385.  
  386.                     Use the APP type variable to define how the display
  387.                     will look when APPINIT() is called.  The APP.flags
  388.                     element allows for one or more of the following flags:
  389.  
  390.                     APP.flag       Description
  391.                     ─────────────  ────────────────────────────────────
  392.                     %MENUBAR       Make room for a menu bar.
  393.                     %STATUSBAR     Make room for a status bar.
  394.  
  395.           SEE ALSO: APPINIT, APPTITLE
  396.  
  397.           AppClose - PROCEDURE
  398.           ─────────────────────────────────────────────────────────────────
  399.  
  400.            PURPOSE: Shuts down all aspects of PB/VISION.
  401.  
  402.             SYNTAX: APPCLOSE
  403.  
  404.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  405.           (c) Copyright 1993-94 DSE Software Publishing                  5
  406.           PB/VISION(tm) LITE - Version 1.10
  407.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  408.  
  409.            REMARKS: Use APPCLOSE() prior to ending a program.  When called,
  410.                     APPCLOSE() hides and closes all open windows and
  411.                     restores the contents of default window 1 to the
  412.                     screen.
  413.  
  414.           SEE ALSO: APPINIT
  415.  
  416.           AppFontInit - PROCEDURE
  417.           ─────────────────────────────────────────────────────────────────
  418.  
  419.            PURPOSE: Refreshes graphics mapped character set.
  420.  
  421.             SYNTAX: APPFONTINIT
  422.  
  423.            REMARKS: Use APPFONTINIT() to re-initialize PB/VISION's graphics
  424.                     mapped character set.  It may be necessary to call this
  425.                     routine if a background application or TSR corrupts the
  426.                     character set.
  427.  
  428.           SEE ALSO: APPINIT
  429.  
  430.           AppInit - PROCEDURE
  431.           ─────────────────────────────────────────────────────────────────
  432.  
  433.            PURPOSE: Initialize all aspects of PB/VISION(tm).
  434.  
  435.             SYNTAX: APPINIT
  436.  
  437.            REMARKS: Use APPINIT() to initialize PB/VISION(tm) with the
  438.                     definitions defined in the APP type variable.
  439.  
  440.                     APPINIT() automatically stores the entire display
  441.                     contents and copies it into a predefined virtual with a
  442.                     window handle of 1.
  443.  
  444.           SEE ALSO: APPCLOSE, APPREFRESH, APPTITLE
  445.  
  446.           AppPause - PROCEDURE
  447.           ─────────────────────────────────────────────────────────────────
  448.  
  449.            PURPOSE: Temporarily shuts down PB/VISION.
  450.  
  451.             SYNTAX: APPPAUSE
  452.  
  453.            REMARKS: Use APPPAUSE() to temporarily shut down the windowing
  454.                     system and restore the contents of default window 1 to
  455.                     the screen.  This command should be called prior using
  456.                     BASIC's "SHELL" command or switching to a graphics
  457.                     mode.
  458.  
  459.           SEE ALSO: APPINIT, APPRESUME
  460.  
  461.  
  462.  
  463.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  464.           (c) Copyright 1993-94 DSE Software Publishing                  6
  465.           PB/VISION(tm) LITE - Version 1.10
  466.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  467.  
  468.           AppRefresh - PROCEDURE
  469.           ─────────────────────────────────────────────────────────────────
  470.  
  471.            PURPOSE: Rebuilds the entire display.
  472.  
  473.             SYNTAX: APPREFRESH
  474.  
  475.            REMARKS: Use APPREFRESH() to rebuild the screen if it becomes
  476.                     corrupted by errant PRINT statements and such.
  477.  
  478.           SEE ALSO: APPINIT
  479.  
  480.           AppResume - PROCEDURE
  481.           ─────────────────────────────────────────────────────────────────
  482.  
  483.            PURPOSE: Restarts PB/VISION after a call to APPPAUSE().
  484.  
  485.             SYNTAX: APPRESUME
  486.  
  487.            REMARKS: Use APPRESUME() to restart the windowing system after a
  488.                     previuos call to APPPAUSE(). The desktop and all open
  489.                     windows are restored to their original state.
  490.  
  491.                     APPRESUME() does not restore the status bar or pulldown
  492.                     menu.  If either of these options are used, you must
  493.                     immediately follow the call with calls to STATUSSHOW()
  494.                     and/or PULLMENUSHOW().
  495.  
  496.           SEE ALSO: APPINIT, APPPAUSE
  497.  
  498.           AppTitle - PROCEDURE
  499.           ─────────────────────────────────────────────────────────────────
  500.  
  501.            PURPOSE: Adds or changes a desktop title.
  502.  
  503.             SYNTAX: APPTITLE kolor%, title$
  504.  
  505.            REMARKS: This procedure accepts the following argument(s):
  506.  
  507.                     Argument       Description
  508.                     ─────────────  ────────────────────────────────────────
  509.                     kolor%         Color of desktop title.
  510.                     title$         Text of the title.
  511.  
  512.                     Use APPTITLE() to add or change the title displayed on
  513.                     the top line of the application desktop.  The title is
  514.                     automatically centered.
  515.  
  516.           SEE ALSO: APP, APPINIT
  517.  
  518.  
  519.  
  520.  
  521.  
  522.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  523.           (c) Copyright 1993-94 DSE Software Publishing                  7
  524.           PB/VISION(tm) LITE - Version 1.10
  525.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  526.  
  527.           Attr% - FUNCTION
  528.           ─────────────────────────────────────────────────────────────────
  529.  
  530.            PURPOSE: Returns a calculated color combination code
  531.  
  532.             SYNTAX: varname% = ATTR%(fore%, back%)
  533.  
  534.            REMARKS: This function accepts the following argument(s):
  535.  
  536.                     Argument       Description
  537.                     ─────────────  ────────────────────────────────────────
  538.                     fore%          Foreground attribute ranging 0-15.
  539.                     back%          Background attribute ranging 0-15.
  540.  
  541.                     Use ATTR% to create an integer attribute to pass to
  542.                     procedures such as WINPRINT().  The supplied foreground
  543.                     and background attributes are identical to the
  544.                     attributes in BASIC's COLOR statement.
  545.  
  546.           SEE ALSO: WINCOLOR, WINOPEN, WINPRINT
  547.  
  548.               NOTE: READ THE TUTORIAL.  THERE IS A MUCH BETTER METHOD.
  549.  
  550.           MapChar - PROCEDURE
  551.           ─────────────────────────────────────────────────────────────────
  552.  
  553.            PURPOSE: Maps a PB/VISION icon into an ASCII character.
  554.  
  555.             SYNTAX: MAPCHAR char%, icon%
  556.  
  557.            REMARKS: This procedure accepts the following argument(s):
  558.  
  559.                     Argument       Description
  560.                     ─────────────  ────────────────────────────────────────
  561.                     char%          ASCII character to map.
  562.                     icon%          Graphics mapped icon to map.
  563.  
  564.                                    Icon #  Description
  565.                                    ──────  ────────────────────────────────
  566.                                       1    F1 icon.
  567.                                       2    F2 icon.
  568.                                       3    F3 icon.
  569.                                       4    F4 icon.
  570.                                       5    F5 icon.
  571.                                       6    F6 icon.
  572.                                       7    F7 icon.
  573.                                       8    F8 icon.
  574.                                       9    F9 icon.
  575.                                      10    F10 icon.
  576.                                      11    Hourglass icon.
  577.                                      12    Double stacked boxes.
  578.  
  579.  
  580.  
  581.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  582.           (c) Copyright 1993-94 DSE Software Publishing                  8
  583.           PB/VISION(tm) LITE - Version 1.10
  584.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  585.  
  586.                     Use MAPCHAR() to map a PB/VISION graphics mapped icon
  587.                     into an ASCII character.  If you modify APP.ROWS during
  588.                     execution of a program, you must re-call this routine.
  589.  
  590.           SEE ALSO: APPFONTINIT, MAPUSERCHAR
  591.  
  592.           MapUserChar - PROCEDURE
  593.           ─────────────────────────────────────────────────────────────────
  594.  
  595.            PURPOSE: Maps a user-defined icon into an ASCII character.
  596.  
  597.             SYNTAX: MAPUSERCHAR char%, icon$
  598.  
  599.            REMARKS: This procedure accepts the following argument(s):
  600.  
  601.                     Argument       Description
  602.                     ─────────────  ────────────────────────────────────────
  603.                     char%          ASCII character to map.
  604.                     icon$          Bit-mapped string icon to map.
  605.  
  606.                     Use MAPUSERCHAR() to create a custom user-defined
  607.                     graphics mapped icon (re-define the ASCII character
  608.                     set).  If you you modify APP.ROWS during execution of a
  609.                     program, you must re-call this routine.
  610.  
  611.           SEE ALSO: APPFONTINIT, MAPCHAR
  612.  
  613.           WinTitle - PROCEDURE
  614.           ─────────────────────────────────────────────────────────────────
  615.  
  616.            PURPOSE: Adds or changes the title in a window.
  617.  
  618.             SYNTAX: WINTITLE winHandle%, kolor%, title$
  619.  
  620.            REMARKS: This procedure accepts the following argument(s):
  621.  
  622.                     Argument       Description
  623.                     ─────────────  ────────────────────────────────────────
  624.                     winHandle%     Handle of window.
  625.                     kolor%         Color of window title.
  626.                     title$         Text of the title.
  627.  
  628.                     Use WINTITLE() to add or change the title of an open
  629.                     window.
  630.  
  631.           SEE ALSO: WINOPEN, WINPOPUP
  632.  
  633.           WinClose - PROCEDURE
  634.           ─────────────────────────────────────────────────────────────────
  635.  
  636.            PURPOSE: Closes a previously opened window.
  637.  
  638.             SYNTAX: WINCLOSE winHandle%
  639.  
  640.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  641.           (c) Copyright 1993-94 DSE Software Publishing                  9
  642.           PB/VISION(tm) LITE - Version 1.10
  643.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  644.  
  645.            REMARKS: This procedure accepts the following argument(s):
  646.  
  647.                     Argument       Description
  648.                     ─────────────  ────────────────────────────────────────
  649.                     winHandle%     Handle of a valid window.
  650.  
  651.                     Use WINCLOSE() to close a previously opened window.
  652.                     All memory used by the window is returned to the
  653.                     PowerBASIC heap and all assigned code is removed from
  654.                     the event manager.
  655.  
  656.           SEE ALSO: WINHIDE, WINOPEN, WINSHOW
  657.  
  658.           WinCls - PROCEDURE
  659.           ─────────────────────────────────────────────────────────────────
  660.  
  661.            PURPOSE: Perform a "clear screen" on an open window.
  662.  
  663.             SYNTAX: WINCLS winHandle%
  664.  
  665.            REMARKS: This procedure accepts the following argument(s):
  666.  
  667.                     Argument       Description
  668.                     ─────────────  ────────────────────────────────────────
  669.                     winHandle%     Handle of a valid window.
  670.  
  671.                     Use WINCLS() to clear out the contents of an open
  672.                     window.  Subsequent calls to WINWRITE(),
  673.                     WINWRITECHAR(), or WINWRITELN() will start at the top
  674.                     left corner of the window.
  675.  
  676.                     If WINCOLOR() has been called, the window will be
  677.                     cleared to the specified color.
  678.  
  679.           SEE ALSO: WINCOLOR, WINWRITE, WINWRITECHAR, WINWRITELN
  680.  
  681.           WinColor - PROCEDURE
  682.           ─────────────────────────────────────────────────────────────────
  683.  
  684.            PURPOSE: Sets the color for subsequent window print commands.
  685.  
  686.             SYNTAX: WINCOLOR winHandle%, kolor%
  687.  
  688.            REMARKS: This procedure accepts the following argument(s):
  689.  
  690.                     Argument       Description
  691.                     ─────────────  ────────────────────────────────────────
  692.                     winHandle%     Handle of a valid window.
  693.                     kolor%         New color for window printing..
  694.  
  695.                     Use WINCOLOR to set the color to use with subsequent
  696.                     calls to WINWRITE(), WINWRITECHAR(), and WINWRITELN().
  697.  
  698.  
  699.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  700.           (c) Copyright 1993-94 DSE Software Publishing                  10
  701.           PB/VISION(tm) LITE - Version 1.10
  702.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  703.  
  704.           SEE ALSO: ATTR, WINWRITE, WINWRITECHAR, WINWRITELN
  705.  
  706.           WinCopy% - FUNCTION
  707.           ─────────────────────────────────────────────────────────────────
  708.  
  709.            PURPOSE: Clones (duplicates) an open window.
  710.  
  711.             SYNTAX: varname% = WINCOPY (winHandle%)
  712.  
  713.            REMARKS: This function accepts the following argument(s):
  714.  
  715.                     Argument       Description
  716.                     ─────────────  ────────────────────────────────────────
  717.                     winHandle%     Handle of window to duplicate.
  718.  
  719.                     Use WINCOPY() to make an exact copy of an existing
  720.                     window.  Every aspect is copied, including the contents
  721.                     of the window itself.
  722.  
  723.            RETURNS: This function returns the following value(s):
  724.  
  725.                     Value  Description
  726.                     ─────  ───────────────────────────────────────────
  727.                     0      Could not duplicate.
  728.                     any    The handle of the new window.
  729.  
  730.           SEE ALSO: WINOPEN, WINPOPUP
  731.  
  732.           WinDeleteLine - PROCEDURE
  733.           ─────────────────────────────────────────────────────────────────
  734.  
  735.            PURPOSE: Deletes and scrolls up one line in a window
  736.  
  737.             SYNTAX: WINDELETELINE winHandle%, LineNo%
  738.  
  739.            REMARKS: This procedure accepts the following argument(s):
  740.  
  741.                     Argument       Description
  742.                     ─────────────  ────────────────────────────────────────
  743.                     winHandle%     Handle of a valid window.
  744.                     LineNo%        Line number to delete.
  745.  
  746.                     Use WINDELETELINE() to delete a single line in a
  747.                     window.  All text below that line is scrolled up.
  748.  
  749.           SEE ALSO: WININSERTLINE
  750.  
  751.           WinDrawBox - PROCEDURE
  752.           ─────────────────────────────────────────────────────────────────
  753.  
  754.            PURPOSE: Tool to draw a box inside of a window.
  755.  
  756.  
  757.  
  758.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  759.           (c) Copyright 1993-94 DSE Software Publishing                  11
  760.           PB/VISION(tm) LITE - Version 1.10
  761.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  762.  
  763.             SYNTAX: WINDRAWBOX winHandle%, row%, col%, rows%, cols%,
  764.                                kolor%, border%
  765.  
  766.            REMARKS: This procedure accepts the following argument(s):
  767.  
  768.                     Argument       Description
  769.                     ─────────────  ────────────────────────────────────────
  770.                     winHandle%     Handle of an existing window.
  771.                     row%           Row inside window to draw the box.
  772.                     col%           Col inside window to draw the box.
  773.                     rows%          Vertical dimension of box to draw.
  774.                     cols%          Horizontal dimension of box to draw.
  775.                     kolor%         Color to draw the box.
  776.                     border%        Border style.
  777.  
  778.                     Use WINDRAWBOX() to draw a box frame inside a window.
  779.                     The row% and col% arguments are relative to the inside
  780.                     of the window.
  781.  
  782.           SEE ALSO: WINFILL, WINPRINT
  783.  
  784.           WinFill - PROCEDURE
  785.           ─────────────────────────────────────────────────────────────────
  786.  
  787.            PURPOSE: Fills a portion of a window with a color/character.
  788.  
  789.             SYNTAX: WINFILL winHandle%, row%, col%, rows%, cols%,
  790.                             kolor%, char%
  791.  
  792.            REMARKS: This procedure accepts the following argument(s):
  793.  
  794.                     Argument       Description
  795.                     ─────────────  ────────────────────────────────────────
  796.                     winHandle%     Handle of a valid window.
  797.                     row%           Row inside window to fill.
  798.                     col%           Col inside window to fill.
  799.                     rows%          Vertical dimension of area to fill.
  800.                     cols%          Horizontal dimension of area to fill.
  801.                     kolor%         Color to use for fill.
  802.                     char%          Character to use for fill.
  803.  
  804.                     Use WINFILL() to fill an area within a window with the
  805.                     specified color and character.  The row% and col%
  806.                     arguments are relative to the inside of the window.  If
  807.                     a value of -1 is used for KOLOR%, the default window
  808.                     color is used.
  809.  
  810.           SEE ALSO: WINDRAWBOX
  811.  
  812.           WinGet - FUNCTION
  813.           ─────────────────────────────────────────────────────────────────
  814.  
  815.            PURPOSE: Gets the handle of the top most window.
  816.  
  817.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  818.           (c) Copyright 1993-94 DSE Software Publishing                  12
  819.           PB/VISION(tm) LITE - Version 1.10
  820.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  821.  
  822.             SYNTAX: varname% = WINGET%
  823.  
  824.            REMARKS: Use WINGET% to get the handle of the top most window,
  825.                     or the handle of the window that was last affected
  826.                     during a call to GETEVENT().
  827.  
  828.           SEE ALSO: GETEVENT
  829.  
  830.           WinGetCursor - PROCEDURE
  831.           ─────────────────────────────────────────────────────────────────
  832.  
  833.            PURPOSE: Returns current cursor position with a window.
  834.  
  835.             SYNTAX: WINGETCURSOR winHandle%, row%, col%
  836.  
  837.            REMARKS: This procedure accepts the following argument(s):
  838.  
  839.                     Argument       Description
  840.                     ─────────────  ────────────────────────────────────────
  841.                     winHandle%     Handle of a valid window.
  842.                     row%           Returns window cursor row.
  843.                     col%           Returns window cursor column.
  844.  
  845.                     Use WINGETCURSOR() to return the internal cursor
  846.                     position within a window.
  847.  
  848.               NOTE: PB/VISION does _not_ maintain a visible cursor for each
  849.                     window.
  850.  
  851.           SEE ALSO: WINLOCATE
  852.  
  853.           WinGetInfo - PROCEDURE
  854.           ─────────────────────────────────────────────────────────────────
  855.  
  856.            PURPOSE: Return complete information about an open window.
  857.  
  858.             SYNTAX: WINGETINFO winHandle%, win
  859.  
  860.            REMARKS: This procedure accepts the following argument(s):
  861.  
  862.                     Argument       Description
  863.                     ─────────────  ────────────────────────────────────────
  864.                     winHandle%     Handle of an existing window.
  865.                     win            A variable of type WINTYPE that holds
  866.                                    complete information about the window.
  867.  
  868.                     Use WINGETINFO() to return information about an open
  869.                     window.  On return, the WIN argument, a variable of
  870.                     type WINTYPE, will hold the window information.
  871.  
  872.  
  873.  
  874.  
  875.  
  876.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  877.           (c) Copyright 1993-94 DSE Software Publishing                  13
  878.           PB/VISION(tm) LITE - Version 1.10
  879.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  880.  
  881.           WinHide - PROCEDURE
  882.           ─────────────────────────────────────────────────────────────────
  883.  
  884.            PURPOSE: Hides a displayed window.
  885.  
  886.             SYNTAX: WINHIDE winhandle%
  887.  
  888.            REMARKS: This procedure accepts the following argument(s):
  889.  
  890.                     Argument       Description
  891.                     ─────────────  ────────────────────────────────────────
  892.                     winhandle%     Handle of a valid window.
  893.  
  894.                     Use WINHIDE() to hide a displayed window.  The window
  895.                     can be re-displayed via the WINSHOW() procedure.
  896.  
  897.               NOTE: If the %AUTOCLOSE flags was used when the window was
  898.                     opened, WINHIDE() will automatically call WINCLOSE()
  899.                     and the window will be nonrecoverable.
  900.  
  901.           SEE ALSO: WINCLOSE, WINOPEN, WINPOPUP, WINSHOW
  902.  
  903.           WinHotPrint - PROCEDURE
  904.           ─────────────────────────────────────────────────────────────────
  905.  
  906.            PURPOSE: Prints text to a window in two colors.
  907.  
  908.             SYNTAX: WINHOTPRINT winHandle%, row%, col%, kolor%, text$
  909.  
  910.            REMARKS: This procedure accepts the following argument(s):
  911.  
  912.                     Argument       Description
  913.                     ─────────────  ────────────────────────────────────────
  914.                     winHandle%     Handle of a valid window.
  915.                     row%           Window relative row to print text.
  916.                     col%           Window relative column to print text.
  917.                     kolor%         Extended color attribute of text.
  918.                     text$          Text to print.
  919.  
  920.                     Use WINHOTPRINT() to print text to a window in two
  921.                     colors.  Using an extended color code (read the
  922.                     tutorial) the default text is printed with the primary
  923.                     color code, and any text enclosed between two tilde
  924.                     characters (~) is printed with the secondary color
  925.                     code.
  926.  
  927.                     Using a value of 0 for the COL% argument, the text will
  928.                     be centered on the line.
  929.  
  930.           SEE ALSO: WINPRINT
  931.  
  932.            EXAMPLE: WINHOTPRINT winHandle%, 2, 4, &H1F17, "Hello, ~World!~"
  933.  
  934.  
  935.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  936.           (c) Copyright 1993-94 DSE Software Publishing                  14
  937.           PB/VISION(tm) LITE - Version 1.10
  938.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  939.  
  940.           WinInsertLine - PROCEDURE
  941.           ─────────────────────────────────────────────────────────────────
  942.  
  943.            PURPOSE: Inserts and scrolls down one line in a window
  944.  
  945.             SYNTAX: WININSERTLINE winHandle%, LineNo%
  946.  
  947.            REMARKS: This procedure accepts the following argument(s):
  948.  
  949.                     Argument       Description
  950.                     ─────────────  ────────────────────────────────────────
  951.                     winHandle%     Handle of a valid window.
  952.                     LineNo%        Line number to insert.
  953.  
  954.                     Use WININSERTLINE() to insert a single line in a
  955.                     window.  All text below that line is scrolled down.
  956.  
  957.           SEE ALSO: WINDELETELINE
  958.  
  959.           WinInstallCode - PROCEDURE
  960.           ─────────────────────────────────────────────────────────────────
  961.  
  962.            PURPOSE: Assign code to a window for multitasking.
  963.  
  964.             SYNTAX: WININSTALLCODE winHandle%, segptr%, offptr%
  965.  
  966.            REMARKS: This procedure accepts the following argument(s):
  967.  
  968.                     Argument       Description
  969.                     ─────────────  ────────────────────────────────────────
  970.                     winHandle%     Handle of a valid window.
  971.                     segptr%        Segment address of procedure to task.
  972.                     offptr%        Offset address of procedure to task.
  973.  
  974.                     Use WININSTALLCODE() to assign a predefined function to
  975.                     the specified window.  Whenever an event occurs that
  976.                     will effect that window, the given function is called
  977.                     with the handle and event number.
  978.  
  979.           SEE ALSO: WINOPEN, WINPOPUP, WINSHOW, TIMERINSTALLCODE
  980.  
  981.           WinLocate - PROCEDURE
  982.           ─────────────────────────────────────────────────────────────────
  983.  
  984.            PURPOSE: Relocate the cursor within window.
  985.  
  986.             SYNTAX: WINLOCATE winHandle%, row%, col%
  987.  
  988.            REMARKS: This procedure accepts the following argument(s):
  989.  
  990.                     Argument       Description
  991.                     ─────────────  ────────────────────────────────────────
  992.                     winHandle%     Handle of a valid window.
  993.  
  994.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  995.           (c) Copyright 1993-94 DSE Software Publishing                  15
  996.           PB/VISION(tm) LITE - Version 1.10
  997.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  998.  
  999.                     row%           Window relative row to locate the
  1000.                                    cursor.
  1001.                     col%           Window relative column to locate the
  1002.                                    cursor.
  1003.  
  1004.                     Use WINLOCATE() to reposition the internal cursor in a
  1005.                     window.  Subsequent calls to WINWRITE(),
  1006.                     WINWRITECHAR(), or WINWRITELN() will print at this
  1007.                     location.
  1008.  
  1009.               NOTE: PB/VISION does _not_ maintain a visible cursor for each
  1010.                     window.
  1011.  
  1012.           SEE ALSO: WINWRITE, WINWRITECHAR, WINWRITELN
  1013.  
  1014.           WinLock - PROCEDURE
  1015.           ─────────────────────────────────────────────────────────────────
  1016.  
  1017.            PURPOSE: Locks out access to all other windows.
  1018.  
  1019.             SYNTAX: WINLOCK winHandle%
  1020.  
  1021.            REMARKS: This procedure accepts the following argument(s):
  1022.  
  1023.                     Argument       Description
  1024.                     ─────────────  ────────────────────────────────────────
  1025.                     winHandle%     Handle of window to lock in place.
  1026.  
  1027.                     Use WINLOCK() to lock out access to all other windows
  1028.                     except the specified window.  The lock remains active
  1029.                     until WINLOCK 0 is called or the window is removed or
  1030.                     hidden.  The pulldown menu system and the status bar
  1031.                     remain active.
  1032.  
  1033.           SEE ALSO: WINLOCKALL, WINSHOW
  1034.  
  1035.           WinLockAll - PROCEDURE
  1036.           ─────────────────────────────────────────────────────────────────
  1037.  
  1038.            PURPOSE: Locks out access to all but the specified window.
  1039.  
  1040.             SYNTAX: WINLOCKALL winHandle%
  1041.  
  1042.            REMARKS: This procedure accepts the following argument(s):
  1043.  
  1044.                     Argument       Description
  1045.                     ─────────────  ────────────────────────────────────────
  1046.                     winHandle%     Handle of window to lock in place.
  1047.  
  1048.                     Use WINLOCKALL() to lock out access everything but the
  1049.                     specified window.  The pulldown menu system and the
  1050.                     status bar are also disabled.  The lock remains active
  1051.                     until WINLOCKALL 0 is called.
  1052.  
  1053.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1054.           (c) Copyright 1993-94 DSE Software Publishing                  16
  1055.           PB/VISION(tm) LITE - Version 1.10
  1056.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1057.  
  1058.               NOTE: Closing of hiding the locked window does _not_ disable
  1059.                     the lock.  WINLOCKALL 0 must be called.
  1060.  
  1061.           SEE ALSO: WINLOCK, WINSHOW
  1062.  
  1063.           WinLockState% - FUNCTION
  1064.           ─────────────────────────────────────────────────────────────────
  1065.  
  1066.            PURPOSE: Returns encoded info needed by WINLOCKRESTORE()
  1067.  
  1068.             SYNTAX: varname% = WINLOCKSTATE
  1069.  
  1070.            REMARKS: WINLOCKSTATE() returns an encoded value that is passed
  1071.                     to WINLOCKRESTORE() upon termination of a modal window,
  1072.                     menu, or data entry form.  The information contained in
  1073.                     the variable is the current state of WINLOCK() and
  1074.                     WINLOCKALL().
  1075.  
  1076.                     This function should be called on entry to a modal
  1077.                     window, menu, or data entry form routine.  When exiting
  1078.                     the routine, WINLOCKRESTORE() will re-instate any locks
  1079.                     that were previously enabled.
  1080.  
  1081.           SEE ALSO: WINLOCK, WINLOCKALL, WINLOCKRESTORE
  1082.  
  1083.           WinLockRestore - PROCEDURE
  1084.           ─────────────────────────────────────────────────────────────────
  1085.  
  1086.            PURPOSE: Restore the state of a locked window.
  1087.  
  1088.             SYNTAX: WINLOCKRESTORE varname%
  1089.  
  1090.            REMARKS: This procedure accepts the following argument(s):
  1091.  
  1092.                     Argument       Description
  1093.                     ─────────────  ────────────────────────────────────────
  1094.                     varname%       Value returned by WINLOCKSTATE%()
  1095.  
  1096.                     Use WINLOCKRESTORE() to return the window locking
  1097.                     states that were present before the modal window, menu,
  1098.                     or data entry form was displayed.
  1099.  
  1100.           SEE ALSO: WINLOCK, WINLOCKALL, WINLOCKSTATE
  1101.  
  1102.           WinMain - PROCEDURE
  1103.           ─────────────────────────────────────────────────────────────────
  1104.  
  1105.            PURPOSE: Bring a window to the top of the screen.
  1106.  
  1107.             SYNTAX: WINMAIN winhandle%
  1108.  
  1109.            REMARKS: This procedure accepts the following argument(s):
  1110.  
  1111.  
  1112.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1113.           (c) Copyright 1993-94 DSE Software Publishing                  17
  1114.           PB/VISION(tm) LITE - Version 1.10
  1115.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1116.  
  1117.                     Argument       Description
  1118.                     ─────────────  ────────────────────────────────────────
  1119.                     winhandle%     Handle of a valid window.
  1120.  
  1121.                     Use WINMAIN() to quickly display an open window.  If
  1122.                     the window is already being displayed, it will be moved
  1123.                     to the top of the window stack.
  1124.  
  1125.           SEE ALSO: WINOPEN, WINPOPUP, WINSHOW
  1126.  
  1127.           WinMaximize - PROCEDURE
  1128.           ─────────────────────────────────────────────────────────────────
  1129.  
  1130.            PURPOSE: Maximizes a window to full size or full screen.
  1131.  
  1132.             SYNTAX: WINMAXIMIZE winhandle%
  1133.  
  1134.            REMARKS: This procedure accepts the following argument(s):
  1135.  
  1136.                     Argument       Description
  1137.                     ─────────────  ────────────────────────────────────────
  1138.                     winhandle%     Handle of a valid window.
  1139.  
  1140.                     Use WINMAXIMIZE() to re-size a window to its full
  1141.                     virtual size.  If the size is larger than the screen,
  1142.                     the window is adjusted to fit within the confines of
  1143.                     the screen.  To return the window to its original size,
  1144.                     use WINNORMALIZE().
  1145.  
  1146.                     If the window is re-sized with WINRESIZE() or with the
  1147.                     mouse, the window is no longer considered maximized.
  1148.  
  1149.           SEE ALSO: WINMINIMIZE, WINNORMALIZE
  1150.  
  1151.           WinMinimize - PROCEDURE
  1152.           ─────────────────────────────────────────────────────────────────
  1153.  
  1154.            PURPOSE: Minimizes a window to an icon.
  1155.  
  1156.             SYNTAX: WINMINIMIZE winhandle%
  1157.  
  1158.            REMARKS: This procedure accepts the following argument(s):
  1159.  
  1160.                     Argument       Description
  1161.                     ─────────────  ────────────────────────────────────────
  1162.                     winhandle%     Handle of a valid window.
  1163.  
  1164.                     Use WINMINIMIZE() to reduce a window to the smallest
  1165.                     possible icon.  All window controls are disabled and
  1166.                     only a title is displayed.
  1167.  
  1168.  
  1169.  
  1170.  
  1171.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1172.           (c) Copyright 1993-94 DSE Software Publishing                  18
  1173.           PB/VISION(tm) LITE - Version 1.10
  1174.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1175.  
  1176.                     So that the window can be returned to normal via mouse
  1177.                     control, it is recommended that you add one of the
  1178.                     following two code fragments to your GETEVENT() loop:
  1179.  
  1180.                          CASE 217
  1181.                               WINNORMALIZE WINGET
  1182.  
  1183.                     or
  1184.  
  1185.                          CASE 217
  1186.                               WINCTRLBOX WINGET
  1187.  
  1188.                     To return the window to normal via software control,
  1189.                     use WINNORMALIZE().
  1190.  
  1191.           SEE ALSO: WINMAXIMIZE, WINNORMALIZE
  1192.  
  1193.           WinNormalize - PROCEDURE
  1194.           ─────────────────────────────────────────────────────────────────
  1195.  
  1196.            PURPOSE: Returns a window to its previous dimensions.
  1197.  
  1198.             SYNTAX: WINNORMALIZE winhandle%
  1199.  
  1200.            REMARKS: This procedure accepts the following argument(s):
  1201.  
  1202.                     Argument       Description
  1203.                     ─────────────  ────────────────────────────────────────
  1204.                     winhandle%     Handle of a valid window.
  1205.  
  1206.                     Use WINNORMALIZE() to return a window to the state it
  1207.                     was in before WINMINIMIZE() or WINMAXIMIZE() was
  1208.                     called.  The window will be returned to its previous
  1209.                     position and size.
  1210.  
  1211.           SEE ALSO: WINMAXIMIZE, WINMINIMIZE
  1212.  
  1213.           WinModify - PROCEDURE
  1214.           ─────────────────────────────────────────────────────────────────
  1215.  
  1216.            PURPOSE: Change physical attributes of an open window
  1217.  
  1218.             SYNTAX: WINMODIFY winHandle%, kolor%, border%, borderKolor%,
  1219.                               TitleKolor%, flags%
  1220.  
  1221.            REMARKS: This procedure accepts the following argument(s):
  1222.  
  1223.                     Argument       Description
  1224.                     ─────────────  ────────────────────────────────────────
  1225.                     winhandle%     Handle of a valid window.
  1226.                     kolor%         New color of window text.
  1227.                     border%        New border style (ranging 0 to 17).
  1228.                     borderKolor%   New color of window border.
  1229.  
  1230.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1231.           (c) Copyright 1993-94 DSE Software Publishing                  19
  1232.           PB/VISION(tm) LITE - Version 1.10
  1233.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1234.  
  1235.                     TitleKolor%    New color of window title.
  1236.                     flags%         New window flags (see WINOPEN()).
  1237.  
  1238.                     Use WINMODIFY() to change the visible attributes of a
  1239.                     window, after it has already been opened.
  1240.  
  1241.           SEE ALSO: WINOPEN, WINPOPUP, WINSHOW
  1242.  
  1243.           WinMove - PROCEDURE
  1244.           ─────────────────────────────────────────────────────────────────
  1245.  
  1246.            PURPOSE: Moves a window on the screen.
  1247.  
  1248.             SYNTAX: WINMOVE winHandle%, row%, col%
  1249.  
  1250.            REMARKS: This procedure accepts the following argument(s):
  1251.  
  1252.                     Argument       Description
  1253.                     ─────────────  ────────────────────────────────────────
  1254.                     winhandle%     Handle of a valid window.
  1255.                     row%           Vert. position to move the window to.
  1256.                     col%           Horiz. position to move the window to.
  1257.  
  1258.                     Use WINMOVE() to move a window from one screen location
  1259.                     to another.  The window will maintain its relative
  1260.                     position within the window stack.
  1261.  
  1262.           SEE ALSO: WINSHOW
  1263.  
  1264.           WinNext - PROCEDURE
  1265.           ─────────────────────────────────────────────────────────────────
  1266.  
  1267.            PURPOSE: Brings forward the next logical window.
  1268.  
  1269.             SYNTAX: WINNEXT
  1270.  
  1271.            REMARKS: Use WINNEXT() to bring forward the next logical
  1272.                     displayed window.
  1273.  
  1274.           SEE ALSO: WINPREV
  1275.  
  1276.           WinOpen% - FUNCTION
  1277.           ─────────────────────────────────────────────────────────────────
  1278.  
  1279.            PURPOSE: Opens (creates) a new window.
  1280.  
  1281.             SYNTAX: winhandle% = WINOPEN% (rows%, cols%, kolor%, border%,
  1282.                                            borderKolor%, title$,
  1283.                                            titleColor%, flags%)
  1284.  
  1285.            REMARKS: This function accepts the following argument(s):
  1286.  
  1287.  
  1288.  
  1289.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1290.           (c) Copyright 1993-94 DSE Software Publishing                  20
  1291.           PB/VISION(tm) LITE - Version 1.10
  1292.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1293.  
  1294.                     Argument       Description
  1295.                     ─────────────  ────────────────────────────────────────
  1296.                     rows%          Number of virtual rows in window.
  1297.                     cols%          Number of virtual columns in window.
  1298.                     kolor%         Color for window text.
  1299.                     border%        Border style for window.
  1300.                     borderKolor%   Color for window border.
  1301.                     title$         Text to use as window title.
  1302.                     TitleKolor%    Color for window title.
  1303.                     flags%         Window display flags
  1304.  
  1305.                     Use WINOPEN() to create a brand new virtual window.
  1306.                     The ROWS% and COLS% arguments refer to the "virtual"
  1307.                     size, not the displayed size.  In PB/VISION(tm), window
  1308.                     can be larger than what is displayed.
  1309.  
  1310.                     The FLAGS% argument controls various display features
  1311.                     for the window and is built by logically OR'ing
  1312.                     constants defined in WINDOW.BI.
  1313.  
  1314.                     The %NOCOLOR flag is of specific interest because it
  1315.                     will reduce the memory requirements for that particular
  1316.                     window by 50%.  All text in that window will be
  1317.                     displayed in the default window color.
  1318.  
  1319.                     Constant       Description
  1320.                     ─────────────  ────────────────────────────────────────
  1321.                     %AUTOCLOSE     Forces window to close if it becomes
  1322.                                    hidden.
  1323.                     %AUTOSCROLL    Coordinates window scroll relative to
  1324.                                    window viewport and allows mouse and
  1325.                                    keyboard scrolling of window.
  1326.                     %BOTTOMBAR     Adds an attractive bottom bar to
  1327.                                    graphical windows that do not already
  1328.                                    have one.
  1329.                     %CONTROL       Add a control box icon to the window
  1330.                                    (See WINCTRLBOX().
  1331.                     %DRAGBAR       Add a drag bar to the window.
  1332.                     %HSCROLLBAR    Add a horizontal scroll bar to the
  1333.                                    window.
  1334.                     %MINMAX        Add minimize and maximize icons to the
  1335.                                    window.
  1336.                     %NOHORZBORDER  Remove horizontal border from window.
  1337.                     %NOCOLOR       Defines that all text in the window is
  1338.                                    of one color (saves 50% memory).
  1339.                     %NOHIDE        Does not allow window to be hidden.
  1340.                     %NOSELECT      Disables all mouse manipulation of a
  1341.                                    window.
  1342.                     %NOVERTBORDER  Remove vertical border from window.
  1343.                     %RESIZE        Add a resize icon to the window.
  1344.                     %SHADOW        Add a shadow to the window (lower/right)
  1345.                     %VSCROLLBAR    Add a vertical scroll bar to the window.
  1346.  
  1347.  
  1348.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1349.           (c) Copyright 1993-94 DSE Software Publishing                  21
  1350.           PB/VISION(tm) LITE - Version 1.10
  1351.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1352.  
  1353.            RETURNS: WINOPEN%() returns a valid window handle, or 0 on
  1354.                     error. You will need to keep track of this handle for
  1355.                     later manipulation of the window.
  1356.  
  1357.           SEE ALSO: WINCLOSE, WINPOPUP, WINSHOW, WININSTALLCODE
  1358.  
  1359.           WinPopup% - FUNCTION
  1360.           ─────────────────────────────────────────────────────────────────
  1361.  
  1362.            PURPOSE: Opens (creates) a new window and displays it.
  1363.  
  1364.             SYNTAX: winhandle% = WINPOPUP% (row%, col%, rows%, cols%,
  1365.                                              kolor%, border%, borderKolor%,
  1366.                                              title$, titleKolor%, flags%)
  1367.  
  1368.            REMARKS: This function accepts the following argument(s):
  1369.  
  1370.                     Argument       Description
  1371.                     ─────────────  ────────────────────────────────────────
  1372.                     row%           Vert. position to display the window.
  1373.                     col%           Horiz. position to display the window.
  1374.                     rows%          Number of virtual rows in window.
  1375.                     cols%          Number of virtual columns in window.
  1376.                     kolor%         Color for window text.
  1377.                     border%        Border style for window.
  1378.                     borderKolor%   Color for window border.
  1379.                     title$         Text to use as window title.
  1380.                     TitleKolor%    Color for window title.
  1381.                     flags%         Window display flags
  1382.  
  1383.                     Use WINPOPUP() to create and display a brand new
  1384.                     virtual window.  The ROWS% and COLS% arguments refer to
  1385.                     the both the "virtual" size _and_ the displayed size.
  1386.                     If a value of 0 is used for the ROW% and/or COL%
  1387.                     arguments, the window will auto-center in that plane.
  1388.  
  1389.                     This function is simply a faster way to create and
  1390.                     display a window.
  1391.  
  1392.            RETURNS: WINPOPUP%() returns a valid window handle, or 0 on
  1393.                     error.  You will need to keep track of this handle for
  1394.                     later manipulation of the window.
  1395.  
  1396.           SEE ALSO: WINCLOSE, WINOPEN, WININSTALLCODE
  1397.  
  1398.           WinPrev - PROCEDURE
  1399.           ─────────────────────────────────────────────────────────────────
  1400.  
  1401.            PURPOSE: Brings forward the last logical window.
  1402.  
  1403.             SYNTAX: WINPREV
  1404.  
  1405.  
  1406.  
  1407.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1408.           (c) Copyright 1993-94 DSE Software Publishing                  22
  1409.           PB/VISION(tm) LITE - Version 1.10
  1410.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1411.  
  1412.            REMARKS: Use WINPREV() to bring forward the last logical
  1413.                     displayed window.
  1414.  
  1415.           SEE ALSO: WINNEXT
  1416.  
  1417.           WinPrint - PROCEDURE
  1418.           ─────────────────────────────────────────────────────────────────
  1419.  
  1420.            PURPOSE: Print text in an open window.
  1421.  
  1422.             SYNTAX: WINPRINT winHandle%, row%, col%, kolor%, text$
  1423.  
  1424.            REMARKS: This procedure accepts the following argument(s):
  1425.  
  1426.                     Argument       Description
  1427.                     ─────────────  ────────────────────────────────────────
  1428.                     winHandle%     Handle of a valid window.
  1429.                     row%           Window relative row to print text.
  1430.                     col%           Window relative column to print text.
  1431.                     Kolor%         Color of text to print.
  1432.                     text$          Text to print.
  1433.  
  1434.                     Use WINPRINT() to print text to a window in the color
  1435.                     specified in the KOLOR% argument.  If a value of -1 is
  1436.                     used, the text is printed in the default window color.
  1437.                     Using a value of 0 for the COL% argument, the text will
  1438.                     be centered on the line.
  1439.  
  1440.           SEE ALSO: WINHOTPRINT, WINWRITE, WINWRITECHAR, WINWRITELN
  1441.  
  1442.           WinReColor - PROCEDURE
  1443.           ─────────────────────────────────────────────────────────────────
  1444.  
  1445.            PURPOSE: Changes color of window and all text within.
  1446.  
  1447.             SYNTAX: WINRECOLOR winHandle%, kolor%
  1448.  
  1449.            REMARKS: This procedure accepts the following argument(s):
  1450.  
  1451.                     Argument       Description
  1452.                     ─────────────  ────────────────────────────────────────
  1453.                     winHandle%     Handle of a valid window.
  1454.                     kolor%         New color for window and text.
  1455.  
  1456.                     Use WINCOLOR to change the color of an open window and
  1457.                     re-color all of the text in that window.
  1458.  
  1459.           SEE ALSO: ATTR
  1460.  
  1461.           WinRefresh - PROCEDURE
  1462.           ─────────────────────────────────────────────────────────────────
  1463.  
  1464.            PURPOSE: Forces a re-display on an open window.
  1465.  
  1466.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1467.           (c) Copyright 1993-94 DSE Software Publishing                  23
  1468.           PB/VISION(tm) LITE - Version 1.10
  1469.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1470.  
  1471.             SYNTAX: WINREFRESH winHandle%
  1472.  
  1473.            REMARKS: This procedure accepts the following argument(s):
  1474.  
  1475.                     Argument       Description
  1476.                     ─────────────  ────────────────────────────────────────
  1477.                     winHandle%     Handle of the window to refresh.
  1478.  
  1479.                     Use WINREFRESH() to update a window when automatic
  1480.                     window refreshing has been disabled with
  1481.                     WINREFRESHMODE().
  1482.  
  1483.                     A side-effect of this call is that all windows on top
  1484.                     of the window to be refreshed will also be refreshed.
  1485.  
  1486.           SEE ALSO: WINREFRESHMODE
  1487.  
  1488.           WinRefreshMode - PROCEDURE
  1489.           ─────────────────────────────────────────────────────────────────
  1490.  
  1491.            PURPOSE: Enables or disables screen refreshing.
  1492.  
  1493.             SYNTAX: WINREFRESHMODE mode%
  1494.  
  1495.            REMARKS: This procedure accepts the following argument(s):
  1496.  
  1497.                     Argument       Description
  1498.                     ─────────────  ────────────────────────────────────────
  1499.                     mode%          0 disables refreshing, 1 re-enables.
  1500.  
  1501.                     Use WINREFRESHMODE() to enable or disable automatic
  1502.                     screen refreshing of all displayed windows.  When
  1503.                     disabled, all printing to a window does not cause an
  1504.                     immediate update.  Use WINREFRESH() for this purpose.
  1505.  
  1506.           SEE ALSO: WINREFRESH, WINPRINT
  1507.  
  1508.           WInResize - PROCEDURE
  1509.           ─────────────────────────────────────────────────────────────────
  1510.  
  1511.            PURPOSE: Changes the displayed size of a window.
  1512.  
  1513.             SYNTAX: WINRESIZE winHandle%, rows%, cols%
  1514.  
  1515.            REMARKS: This procedure accepts the following argument(s):
  1516.  
  1517.                     Argument       Description
  1518.                     ─────────────  ────────────────────────────────────────
  1519.                     winHandle%     Handle of the window to re-size.
  1520.                     rows%          New vertical dimension of window.
  1521.                     cols%          New horizontal dimension of window.
  1522.  
  1523.  
  1524.  
  1525.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1526.           (c) Copyright 1993-94 DSE Software Publishing                  24
  1527.           PB/VISION(tm) LITE - Version 1.10
  1528.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1529.  
  1530.                     Use WINRESIZE() to change the displayed size of an open
  1531.                     window.  The "virtual" size is not affected.
  1532.  
  1533.           SEE ALSO: WINOPEN, WINPOPUP
  1534.  
  1535.           WinScrollBarGet - PROCEDURE
  1536.           ─────────────────────────────────────────────────────────────────
  1537.  
  1538.            PURPOSE: Returns the position of scroll pointers in a window.
  1539.  
  1540.             SYNTAX: WINSCROLLBARGET winHandle%, vpos%, hpos%
  1541.  
  1542.            REMARKS: This procedure accepts the following argument(s):
  1543.  
  1544.                     Argument       Description
  1545.                     ─────────────  ────────────────────────────────────────
  1546.                     winHandle%     Handle of the window to adjust.
  1547.                     vpos%          Vertical scroll bar position (1-100).
  1548.                     hpos%          Horizontal scroll bar position (1-100).
  1549.  
  1550.                     Use WINSCROLLBARGET() to return the position of the
  1551.                     horizontal and vertical scroll bars in a displayed
  1552.                     window.  Window scroll bars positions are measured in
  1553.                     percentages of 100.  If a window is re-sized, the
  1554.                     position indicator will be updated to reflect the
  1555.                     percentage.
  1556.  
  1557.           SEE ALSO: WINSCROLLBARSET
  1558.  
  1559.           WinScrollBarSet - PROCEDURE
  1560.           ─────────────────────────────────────────────────────────────────
  1561.  
  1562.            PURPOSE: Changes position of scroll bar pointers in a window.
  1563.  
  1564.             SYNTAX: WINSCROLLBARSET winHandle%, vpos%, hpos%
  1565.  
  1566.            REMARKS: This procedure accepts the following argument(s):
  1567.  
  1568.                     Argument       Description
  1569.                     ─────────────  ────────────────────────────────────────
  1570.                     winHandle%     Handle of the window to adjust.
  1571.                     vpos%          Vertical scroll bar position (1-100).
  1572.                     hpos%          Horizontal scroll bar position (1-100).
  1573.  
  1574.                     Use WINSCROLLBARSET() to change the position of the
  1575.                     horizontal and vertical scroll bars on a displayed
  1576.                     window.  Window scroll bars positions are measured in
  1577.                     percentages of 100.  If a window is re-sized, the
  1578.                     position indicator will be updated to reflect the
  1579.                     percentage.
  1580.  
  1581.                     Using a value of -1 for either scroll bar will leave
  1582.                     the position as it is.
  1583.  
  1584.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1585.           (c) Copyright 1993-94 DSE Software Publishing                  25
  1586.           PB/VISION(tm) LITE - Version 1.10
  1587.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1588.  
  1589.           SEE ALSO: WINSCROLLBARGET
  1590.  
  1591.           WinShow - PROCEDURE
  1592.           ─────────────────────────────────────────────────────────────────
  1593.  
  1594.            PURPOSE: Displays a window.
  1595.  
  1596.             SYNTAX: WINSHOW winHandle%, row%, col%, rows%, cols%
  1597.  
  1598.            REMARKS: This procedure accepts the following argument(s):
  1599.  
  1600.                     Argument       Description
  1601.                     ─────────────  ────────────────────────────────────────
  1602.                     winHandle%     Handle of window to display
  1603.                     row%           Vert. position to display the window.
  1604.                     col%           Horiz. position to display the window.
  1605.                     rows%          Number of window rows to display
  1606.                     cols%          Number of window columns to display.
  1607.  
  1608.                     Use WINSHOW() to place an open window on the screen. If
  1609.                     the window is already being displayed, it will be
  1610.                     brought to the top of the window stack.
  1611.  
  1612.                     If a value of 0 is used for the ROW% and/or COL%
  1613.                     arguments, the window will auto-center in that plane.
  1614.                     Using 25 and 80 for the ROWS% and COLS%, respectively,
  1615.                     will relive you of having to keep track of their actual
  1616.                     size as windows can never be displayed in a size larger
  1617.                     that their virtual size.
  1618.  
  1619.           SEE ALSO: WINOPEN
  1620.  
  1621.           WinSwapColor - PROCEDURE
  1622.           ─────────────────────────────────────────────────────────────────
  1623.  
  1624.            PURPOSE: Swaps all occurrences one color with another in a
  1625.                     window.
  1626.  
  1627.             SYNTAX: WINSWAPCOLOR winHandle%, oldColor%, newColor%
  1628.  
  1629.            REMARKS: This procedure accepts the following argument(s):
  1630.  
  1631.                     Argument       Description
  1632.                     ─────────────  ────────────────────────────────────────
  1633.                     winHandle%     Handle of window to change.
  1634.                     oldColor%      Color to change.
  1635.                     newColor%      Color to change to.
  1636.  
  1637.                     Use WINSWAPCOLOR() to change all occurrences of one
  1638.                     color in a window to another color.
  1639.  
  1640.           SEE ALSO: WINRECOLOR
  1641.  
  1642.  
  1643.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1644.           (c) Copyright 1993-94 DSE Software Publishing                  26
  1645.           PB/VISION(tm) LITE - Version 1.10
  1646.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1647.  
  1648.           WinViewPort - PROCEDURE
  1649.           ─────────────────────────────────────────────────────────────────
  1650.  
  1651.            PURPOSE: Changes the view within a window.
  1652.  
  1653.             SYNTAX: WINVIEWPORT winHandle%, row%, col%
  1654.  
  1655.            REMARKS: This procedure accepts the following argument(s):
  1656.  
  1657.                     Argument       Description
  1658.                     ─────────────  ────────────────────────────────────────
  1659.                     winHandle%     Handle of window to change view
  1660.                     row%           Virtual row to begin view at.
  1661.                     col%           Virtual column to begin view at.
  1662.  
  1663.                     Use WINVIEWPORT() to change the displayed contents of a
  1664.                     window.  Remember, in PB/VISION, windows can be larger
  1665.                     than the displayed portion.  This function provides the
  1666.                     means to indicate what part of the window you want to
  1667.                     start looking at.
  1668.  
  1669.           SEE ALSO: WINSHOW
  1670.  
  1671.           WinWrite - PROCEDURE
  1672.           ─────────────────────────────────────────────────────────────────
  1673.  
  1674.            PURPOSE: Writes text to an open window.
  1675.  
  1676.             SYNTAX: WINWRITE winHandle%, text$
  1677.  
  1678.            REMARKS: This procedure accepts the following argument(s):
  1679.  
  1680.                     Argument       Description
  1681.                     ─────────────  ────────────────────────────────────────
  1682.                     winHandle%     Handle of window to write you.
  1683.                     text$          Text to write.
  1684.  
  1685.                     Use WINWRITE() to write text to a window at the current
  1686.                     internal window cursor position.  Text is always
  1687.                     printed using the last color specified by the last call
  1688.                     to WINCOLOR().
  1689.  
  1690.           SEE ALSO: WINPRINT, WINWRITECHAR, WINWRITELN
  1691.  
  1692.           WinWriteChar - PROCEDURE
  1693.           ─────────────────────────────────────────────────────────────────
  1694.  
  1695.            PURPOSE: Writes a character to an open window.
  1696.  
  1697.             SYNTAX: WINWRITECHAR winHandle%, char%
  1698.  
  1699.            REMARKS: This procedure accepts the following argument(s):
  1700.  
  1701.  
  1702.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1703.           (c) Copyright 1993-94 DSE Software Publishing                  27
  1704.           PB/VISION(tm) LITE - Version 1.10
  1705.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1706.  
  1707.                     Argument       Description
  1708.                     ─────────────  ────────────────────────────────────────
  1709.                     winHandle%     Handle of window to write you.
  1710.                     char%          ASCII character to write.
  1711.  
  1712.                     Use WINWRITECHAR() to write an ASCII character  to a
  1713.                     window at the current internal window cursor position.
  1714.                     The character is always printed using the last color
  1715.                     specified by the last call to WINCOLOR().
  1716.  
  1717.           SEE ALSO: WINPRINT, WINWRITE, WINWRITELN
  1718.  
  1719.           WinWriteLn - PROCEDURE
  1720.           ─────────────────────────────────────────────────────────────────
  1721.  
  1722.            PURPOSE: Writes text and linefeed to an open window.
  1723.  
  1724.             SYNTAX: WINWRITELN winHandle%, text$
  1725.  
  1726.            REMARKS: This procedure accepts the following argument(s):
  1727.  
  1728.                     Argument       Description
  1729.                     ─────────────  ────────────────────────────────────────
  1730.                     winHandle%     Handle of window to write to.
  1731.                     text$          Text to write.
  1732.  
  1733.                     Use WINWRITELN() to write text to a window at the
  1734.                     current internal window cursor position and then
  1735.                     advance the cursor to the beginning of the next line.
  1736.                     When the cursor reaches the last line, the window is
  1737.                     scrolled up.  Text is always printed using the last
  1738.                     color specified by the last call to WINCOLOR().
  1739.  
  1740.           SEE ALSO: WINPRINT, WINWRITE, WINWRITECHAR
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1762.           (c) Copyright 1993-94 DSE Software Publishing                  28
  1763.           PB/VISION(tm) LITE - Version 1.10
  1764.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1765.  
  1766.                                       Chapter 2
  1767.  
  1768.                               EVENT MANAGEMENT ROUTINES
  1769.  
  1770.           █████████████████████████████████████████████████████████████████
  1771.  
  1772.           GetEvent% - FUNCTION
  1773.           ─────────────────────────────────────────────────────────────────
  1774.  
  1775.            PURPOSE: Command dispatcher/monitor for keyboard/mouse events.
  1776.  
  1777.             SYNTAX: varname% = GETEVENT%(cmd%)
  1778.  
  1779.            REMARKS: Use GETEVENT%() to add event-driven processing to a
  1780.                     PB/VISION(tm) application.  GETEVENT%() takes control
  1781.                     of the application for 1 clock tick (.055 seconds) and
  1782.                     processes any pending keystrokes or mouse clicks.  When
  1783.                     an event occurs, the appropriate processing routines
  1784.                     are automatically invoked.  Upon completion,
  1785.                     GETEVENT%() returns a unique code (see below)
  1786.                     indicating the type of event that occurred.
  1787.  
  1788.           This function accepts the following argument(s):
  1789.  
  1790.                     Argument       Description
  1791.                     ─────────────  ────────────────────────────────────────
  1792.                     cmd%           Use '0' for this version.
  1793.  
  1794.            RETURNS: This function returns the following value(s):
  1795.  
  1796.                     The following event codes are returned when a key has
  1797.                     been pressed and it cannot be processed by any
  1798.                     displayed objects.  Use KEYGET%() to retrieve the
  1799.                     keystroke.
  1800.  
  1801.                     Value  Description
  1802.                     ─────  ────────────────────────────────────────────────
  1803.                     100    A key was pressed.  (Use KEYGET%() to retrieve.)
  1804.                     101    <CR> was pressed.
  1805.                     102    <ESC> was pressed.
  1806.                     103    <F1> was pressed.
  1807.                     104    <TAB> was pressed.
  1808.                     105    <SHIFT-TAB> was pressed.
  1809.                     106    <ALT-TAB> was pressed.
  1810.                     107    <CTRL-TAB> was pressed.
  1811.                     108    <ALT-SPACE> was pressed.
  1812.                     111    <UP> cursor key was pressed.
  1813.                     112    <DN> cursor key was pressed.
  1814.                     113    <LEFT> cursor key was pressed.
  1815.                     114    <RIGHT> cursor key was pressed.
  1816.                     115    <PGUP> cursor key was pressed.
  1817.                     116    <PGDN> cursor key was pressed.
  1818.                     117    <HOME> cursor key was pressed.
  1819.  
  1820.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1821.           (c) Copyright 1993-94 DSE Software Publishing                  29
  1822.           PB/VISION(tm) LITE - Version 1.10
  1823.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1824.  
  1825.                     118    <END> cursor key was pressed.
  1826.                     119    <INS> cursor key was pressed.
  1827.                     120    <DEL> cursor key was pressed.
  1828.                     121    <CTRL-PGUP> was pressed.
  1829.                     122    <CTRL-PGDN> was pressed.
  1830.                     123    <CTRL-HOME> was pressed.
  1831.                     124    <CTRL-END> was pressed.
  1832.                     125    <CTRL-INS> was pressed.
  1833.                     126    <CTRL-DEL> was pressed.
  1834.                     127    <CTRL-LEFT> was pressed.
  1835.                     128    <CTRL-RIGHT> was pressed.
  1836.                     129    <SHIFT-INS> was pressed.
  1837.  
  1838.                     The following event codes are returned when a displayed
  1839.                     window is manipulated with the mouse. Use WINGET%() to
  1840.                     retrieve the handle of the window manipulated.
  1841.  
  1842.                     Value  Description
  1843.                     ─────  ────────────────────────────────────────────────
  1844.                     200    Window GOTFOCUS event.
  1845.                     201    Window LOSTFOCUS event.
  1846.                     202    Window CLICK event.
  1847.                     203    Window CONTROLBOX event.
  1848.                     204    Window MINIMIZE event.
  1849.                     205    Window MAXIMIZE event.
  1850.                     206    Window MOVE event.
  1851.                     207    Window RESIZE event.
  1852.                     208    Window VERTICAL SCROLL PAD event.
  1853.                     209    Window VERTICAL SCROLL UP event.
  1854.                     210    Window VERTICAL SCROLL DN event.
  1855.                     211    Window HORIZONTAL SCROLL PAD event.
  1856.                     212    Window HORIZONTAL SCROLL LEFT event.
  1857.                     213    Window HORIZONTAL SCROLL RIGHT event.
  1858.                     214    Window CLOSE event.
  1859.                     215    Window HIDE event.
  1860.                     216    Window NOCLICK event.
  1861.                     217    Window clicked while minimized.
  1862.                     218    Window NORMALIZE event.
  1863.                     219    Window viewport was changed.
  1864.  
  1865.                     250    Right mouse button clicked.
  1866.  
  1867.           SEE ALSO: WINGET
  1868.  
  1869.           HotKeyAdd - PROCEDURE
  1870.           ─────────────────────────────────────────────────────────────────
  1871.  
  1872.            PURPOSE: Defines a custom user "hot key"
  1873.  
  1874.             SYNTAX: HOTKEYADD scancode%, eventNo%
  1875.  
  1876.            REMARKS: This procedure accepts the following argument(s):
  1877.  
  1878.  
  1879.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1880.           (c) Copyright 1993-94 DSE Software Publishing                  30
  1881.           PB/VISION(tm) LITE - Version 1.10
  1882.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1883.  
  1884.                     Argument      Description
  1885.                     ────────────  ────────────────────────────────────────
  1886.                     scancode%     Keyboard scan code to use as accelerator.
  1887.                     eventNo%      Custom event code to return to
  1888.                     GetEvent().
  1889.  
  1890.                     Use HOTKEYADD() to define a custom "hot key" event.
  1891.                     When the keyboard scan code is received, the custom
  1892.                     event number will be returned to GetEvent() or will be
  1893.                     passed to your installed window process.
  1894.  
  1895.           SEE ALSO: HOTKEYTOGGLE
  1896.  
  1897.           HotKeyToggle - PROCEDURE
  1898.           ─────────────────────────────────────────────────────────────────
  1899.  
  1900.            PURPOSE: Toggle the state of an individual hot key.
  1901.  
  1902.             SYNTAX: HOTKEYTOGGLE scancode%, mode%
  1903.  
  1904.            REMARKS: This procedure accepts the following argument(s):
  1905.  
  1906.                     Argument      Description
  1907.                     ────────────  ─────────────────────────────────────────
  1908.                     scancode%     Keyboard scan code to use as accelerator.
  1909.                     mode%         Initial mode (0=disabled, 1=enabled)
  1910.  
  1911.                     Use HOTKEYTOGGLE() to change the state of a hot key
  1912.                     entry.
  1913.  
  1914.           SEE ALSO: HOTKEYADD
  1915.  
  1916.           TimerInstallCode - PROCEDURE
  1917.           ─────────────────────────────────────────────────────────────────
  1918.  
  1919.            PURPOSE: Install a background task.
  1920.  
  1921.             SYNTAX: TIMERINSTALLCODE segptr%, offptr%
  1922.  
  1923.            REMARKS: This procedure accepts the following argument(s):
  1924.  
  1925.                     Argument       Description
  1926.                     ─────────────  ────────────────────────────────────────
  1927.                     segptr%        Segment address of function to task.
  1928.                     offptr%        Offset address of function to task.
  1929.  
  1930.                     Use TIMERINSTALLCODE() to assign a background timer
  1931.                     task.  The assigned routine will be called up to 18
  1932.                     times per second so it should not tie up system
  1933.                     resources for excessive periods.  The routine should
  1934.                     resemble:
  1935.  
  1936.                          FUNCTION YourRoutine% (BYVAL UpdateSafe%)
  1937.  
  1938.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1939.           (c) Copyright 1993-94 DSE Software Publishing                  31
  1940.           PB/VISION(tm) LITE - Version 1.10
  1941.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1942.  
  1943.                               YourRoutine% = SomeEventCode
  1944.                          END FUNCTION
  1945.  
  1946.                     When the assigned routine is called it is passed an
  1947.                     integer value of 0 or 1 (in the UPDATESAFE% parameter)
  1948.                     Only when 1 is passed is it safe to update the screen.
  1949.                     Since the routine you assign is a function, it can
  1950.                     return an event code back to the GETEVENT() routine if
  1951.                     desired.  Again, the event code can only be returned
  1952.                     when the UPDATESAFE% parameter is 1.
  1953.  
  1954.                     To remove the routine, pass 0 for both the SEGPTR% and
  1955.                     OFFPTR% parameter
  1956.  
  1957.               NOTE: Possible uses for this routine include creating a
  1958.                     background file printing routine, a "watch dog" for the
  1959.                     serial port, scrolling banner handler, etc.
  1960.  
  1961.           SEE ALSO: WININSTALLCODE
  1962.  
  1963.           WinCtrlBox - PROCEDURE
  1964.           ─────────────────────────────────────────────────────────────────
  1965.  
  1966.            PURPOSE: Displays a "control box" over an window.
  1967.  
  1968.             SYNTAX: WINCTRLBOX winHandle%
  1969.  
  1970.            REMARKS: This procedure accepts the following argument(s):
  1971.  
  1972.                     Argument      Description
  1973.                     ────────────  ─────────────────────────────────────────
  1974.                     winHandle%    Handle of displayed window.
  1975.                     menucolor     Variable of type MENUCOLORTYPE that
  1976.                                   defines the displayed attributes of the
  1977.                                   control box window.
  1978.  
  1979.                     Use WINCTRLBOX() to display a window "control box".
  1980.                     The control box allows the user to close, move, re-
  1981.                     size, minimize, or maximize the window it is assigned
  1982.                     to.
  1983.  
  1984.           SEE ALSO: HOTKEYADD
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1998.           (c) Copyright 1993-94 DSE Software Publishing                  32
  1999.           PB/VISION(tm) LITE - Version 1.10
  2000.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2001.  
  2002.                                       Chapter 3
  2003.  
  2004.                                    MOUSE ROUTINES
  2005.  
  2006.           █████████████████████████████████████████████████████████████████
  2007.  
  2008.           Mouse% - FUNCTION
  2009.           ─────────────────────────────────────────────────────────────────
  2010.  
  2011.            PURPOSE: Returns mouse button/position information.
  2012.  
  2013.             SYNTAX: varname% = MOUSE%(button%, cmd%)
  2014.  
  2015.            REMARKS: This function accepts the following argument(s):
  2016.  
  2017.                     Argument      Description
  2018.                     ────────────  ─────────────────────────────────────────
  2019.                     button%       Button to read.
  2020.  
  2021.                                   Value  Description
  2022.                                   ─────  ──────────────────────────────
  2023.                                     1    Left mouse button.
  2024.                                     2    Right mouse button.
  2025.                                     4    Middle mouse button.
  2026.  
  2027.                     cmd%          Mouse button property to read.
  2028.  
  2029.                                   Value  Description
  2030.                                   ─────  ──────────────────────────────
  2031.                                     1   Is button currently pressed.
  2032.                                     2   Button clicks since last call.
  2033.                                     3   Current mouse cursor row.
  2034.                                     4   Current mouse cursor column.
  2035.                                     5   Last mouse press row.
  2036.                                     6   Last mouse press column.
  2037.                                     7   Last mouse release row.
  2038.                                     8   Last mouse release column.
  2039.                                     9   Has the mouse status changed.
  2040.  
  2041.                     Use MOUSE%() to return specific properties of a given
  2042.                     mouse button.  Command number 1 returns a positive
  2043.                     value if the mouse is currently pressed.  Command 2 can
  2044.                     then returns the number of times the button was
  2045.                     pressed.  Command 9 returns a positive value if the
  2046.                     mouse is pressed and if it has been moved since the
  2047.                     last call to command 9.
  2048.  
  2049.           SEE ALSO: MOUSEINIT
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2057.           (c) Copyright 1993-94 DSE Software Publishing                  33
  2058.           PB/VISION(tm) LITE - Version 1.10
  2059.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2060.  
  2061.           MouseCursorOff - PROCEDURE
  2062.           ─────────────────────────────────────────────────────────────────
  2063.  
  2064.            PURPOSE: Turns the mouse cursor off.
  2065.  
  2066.             SYNTAX: MOUSECURSOROFF
  2067.  
  2068.            REMARKS: Use MOUSECURSOROFF() to turn off the mouse cursor.  For
  2069.                     each call to MOUSECURSOROFF(), an equal number of calls
  2070.                     to MOUSECURSORON() must be made.
  2071.  
  2072.           SEE ALSO: MOUSECURSORON, MOUSETERM
  2073.  
  2074.  
  2075.           MouseCursorOn - PROCEDURE
  2076.           ─────────────────────────────────────────────────────────────────
  2077.  
  2078.            PURPOSE: Turns the mouse cursor on.
  2079.  
  2080.             SYNTAX: MOUSECURSORON
  2081.  
  2082.            REMARKS: Use MOUSECURSORON() to turn the mouse on after a call
  2083.                     to MOUSEINIT() or a call to MOUSECURSOROFF().
  2084.  
  2085.           SEE ALSO:       MOUSECURSOROFF, MOUSEINIT
  2086.  
  2087.  
  2088.           MouseGet% - FUNCTION
  2089.           ─────────────────────────────────────────────────────────────────
  2090.  
  2091.            PURPOSE: Retrieves the current position of the mouse.
  2092.  
  2093.             SYNTAX: varname = MOUSEGET%(row%, col%)
  2094.  
  2095.            REMARKS: This function accepts the following argument(s):
  2096.  
  2097.                     Argument     Description
  2098.                     ───────────  ─────────────────────────────────────────
  2099.                     row%         Current screen row is returned in here.
  2100.                     col%         Current screen column is returned in here.
  2101.  
  2102.                     Use MOUSEGET() to retrieve the current position of the
  2103.                     mouse cursor.  If any mouse buttons are pressed,
  2104.                     MOUSEGET() will also return the button value.
  2105.  
  2106.            RETURNS: This function returns the following value(s):
  2107.  
  2108.                     Value  Description
  2109.                     ─────  ────────────────────────────────────────────────
  2110.                       0    No buttons are currently pressed.
  2111.                       1    The left mouse button is currently pressed.
  2112.                       2    The right mouse button is currently pressed.
  2113.                       4    The middle mouse button is currently pressed.
  2114.  
  2115.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2116.           (c) Copyright 1993-94 DSE Software Publishing                  34
  2117.           PB/VISION(tm) LITE - Version 1.10
  2118.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2119.  
  2120.           SEE ALSO: MOUSESET
  2121.  
  2122.  
  2123.           MouseGetInfo - PROCEDURE
  2124.           ─────────────────────────────────────────────────────────────────
  2125.  
  2126.            PURPOSE: Retrieve information about the mouse.
  2127.  
  2128.             SYNTAX: MOUSEGETINFO major%, minor%, irq%, mtype%
  2129.  
  2130.            REMARKS: This procedure accepts the following argument(s):
  2131.  
  2132.                     Argument      Description
  2133.                     ────────────  ─────────────────────────────────────────
  2134.                     major%        Mouse driver major version number.
  2135.                     minor%        Mouse driver minor version number.
  2136.                     irq%          IRQ number mouse is installed on.
  2137.  
  2138.                                   Value  Description
  2139.                                   ─────  ──────────────────────────────
  2140.                                     0    PS/2 pointing device.
  2141.                                     1    not defined.
  2142.                                     2    IRQ2.
  2143.                                     3    IRQ3.
  2144.                                    ...   ...
  2145.                                     7    IRQ7.
  2146.  
  2147.                     mtype%        Type of mouse installed.
  2148.  
  2149.                                   Value  Description
  2150.                                   ─────  ──────────────────────────────
  2151.                                     1    bus mouse.
  2152.                                     2    serial mouse.
  2153.                                     3    Microsoft InPort.
  2154.                                     4    IBM PS/2 Pointing Device port.
  2155.                                     5    Hewlett-Packard mouse.
  2156.  
  2157.                     Use MOUSEGETINFO() to retrieve complete information on
  2158.                     an installed mouse and mouse driver.
  2159.  
  2160.           SEE ALSO: MOUSEINIT
  2161.  
  2162.  
  2163.           MouseGetPress% - FUNCTION
  2164.           ─────────────────────────────────────────────────────────────────
  2165.  
  2166.            PURPOSE: Retrieves position of last mouse press.
  2167.  
  2168.             SYNTAX: varname = MOUSEGETPRESS%(button%, presses%, row%, col%)
  2169.  
  2170.            REMARKS: This function accepts the following argument(s):
  2171.  
  2172.  
  2173.  
  2174.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2175.           (c) Copyright 1993-94 DSE Software Publishing                  35
  2176.           PB/VISION(tm) LITE - Version 1.10
  2177.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2178.  
  2179.                     Argument      Description
  2180.                     ────────────  ─────────────────────────────────────────
  2181.                     button%       Button to select.
  2182.  
  2183.                                   Value  Description
  2184.                                   ─────  ──────────────────────────────
  2185.                                     1    Left mouse button.
  2186.                                     2    Right mouse button.
  2187.                                     4    Middle mouse button.
  2188.  
  2189.                     presses%     Number of presses since last call.
  2190.                     row%         Screen row of last button press.
  2191.                     col%         Screen column of last button press.
  2192.  
  2193.                     Use MOUSEGETPRESS%() to retrieve the number of mouse
  2194.                     presses since the last call to this same function.  The
  2195.                     ROW% and COL% will hold the position of the very last
  2196.                     mouse press.
  2197.  
  2198.            RETURNS: This function returns the following value(s):
  2199.  
  2200.                     Value  Description
  2201.                     ─────  ────────────────────────────────────────────────
  2202.                       0    No buttons are currently pressed.
  2203.                       1    The left mouse button is currently pressed.
  2204.                       2    The right mouse button is currently pressed.
  2205.                       4    The middle mouse button is currently pressed.
  2206.  
  2207.           SEE ALSO: MOUSEGET, MOUSEGETRELEASE
  2208.  
  2209.  
  2210.           MouseGetRelease% - FUNCTION
  2211.           ─────────────────────────────────────────────────────────────────
  2212.  
  2213.            PURPOSE: Retrieves position of last mouse release.
  2214.  
  2215.             SYNTAX: varname = MOUSEGETRELEASE%(button%, releases%, row%,
  2216.                                                col%)
  2217.  
  2218.            REMARKS: This function accepts the following argument(s):
  2219.  
  2220.                     Argument      Description
  2221.                     ────────────  ─────────────────────────────────────────
  2222.                     button%       Button to select.
  2223.                                   Value  Description
  2224.                                   ─────  ──────────────────────────────
  2225.                                     1    Left mouse button.
  2226.                                     2    Right mouse button.
  2227.                                     4    Middle mouse button.
  2228.  
  2229.                     releases%    Number of releases since last call.
  2230.                     row%         Screen row of last button releases.
  2231.                     col%         Screen column of last button releases.
  2232.  
  2233.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2234.           (c) Copyright 1993-94 DSE Software Publishing                  36
  2235.           PB/VISION(tm) LITE - Version 1.10
  2236.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2237.  
  2238.                     Use MOUSEGETRELEASE%() to retrieve the number of mouse
  2239.                     releases since the last call to this same function.
  2240.                     The ROW% and COL% will hold the position of the very
  2241.                     last mouse release.
  2242.  
  2243.            RETURNS: This function returns the following value(s):
  2244.  
  2245.                     Value  Description
  2246.                     ─────  ────────────────────────────────────────────────
  2247.                       0    No buttons are currently pressed.
  2248.                       1    The left mouse button is currently pressed.
  2249.                       2    The right mouse button is currently pressed.
  2250.                       4    The middle mouse button is currently pressed.
  2251.  
  2252.           SEE ALSO: MOUSEGET, MOUSEGETPRESS
  2253.  
  2254.  
  2255.           MouseInit% - FUNCTION
  2256.           ─────────────────────────────────────────────────────────────────
  2257.  
  2258.            PURPOSE: Initializes the mouse and returns button count.
  2259.  
  2260.             SYNTAX: varname = MOUSEINIT%(buttons%)
  2261.  
  2262.            REMARKS: This function accepts the following argument(s):
  2263.  
  2264.                     Argument      Description
  2265.                     ────────────  ─────────────────────────────────────────
  2266.                     buttons%      Number of mouse buttons is returned here.
  2267.  
  2268.                     Use MOUSEINIT%() to initialize the mouse under
  2269.                     PB/VISION.  If a mouse is detected, the BUTTONS%
  2270.                     parameter will hold the number of mouse buttons
  2271.                     available.
  2272.  
  2273.                     To display the mouse, MOUSECURSORON() must also be
  2274.                     called.  To set the mouse cursor style (text or
  2275.                     graphics), see APP.GRAPHICSMOUSE.
  2276.  
  2277.            RETURNS:       Returns 0 if a mouse is not available.  Any other
  2278.                           value indicates a mouse is present.
  2279.  
  2280.           SEE ALSO: APP, MOUSECURSORON, MOUSETERM
  2281.  
  2282.  
  2283.           MouseSet - PROCEDURE
  2284.           ─────────────────────────────────────────────────────────────────
  2285.  
  2286.            PURPOSE: Moves the mouse to a specific screen location.
  2287.  
  2288.             SYNTAX: MOUSESET row%, col%
  2289.  
  2290.            REMARKS: This procedure accepts the following argument(s):
  2291.  
  2292.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2293.           (c) Copyright 1993-94 DSE Software Publishing                  37
  2294.           PB/VISION(tm) LITE - Version 1.10
  2295.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2296.  
  2297.                     Argument      Description
  2298.                     ────────────  ─────────────────────────────────────────
  2299.                     row%          Screen row to move cursor to.
  2300.                     col%          Screen column to move cursor to.
  2301.  
  2302.                     Use MOUSESET() to relocate the mouse cursor to a new
  2303.                     screen location.
  2304.  
  2305.           SEE ALSO: MOUSEGET
  2306.  
  2307.           MouseSetWindow - PROCEDURE
  2308.           ─────────────────────────────────────────────────────────────────
  2309.  
  2310.            PURPOSE: Locks mouse within given screen boundaries.
  2311.  
  2312.             SYNTAX: MOUSESETWINDOW row%, col%, rows%, cols%
  2313.  
  2314.            REMARKS: This procedure accepts the following argument(s):
  2315.  
  2316.                     Argument      Description
  2317.                     ────────────  ─────────────────────────────────────────
  2318.                     row%          First row of mouse window
  2319.                     col%          First column of mouse window.
  2320.                     rows%         Vertical dimension of mouse window.
  2321.                     cols%         Horizontal dimension of mouse window.
  2322.  
  2323.                     Use MOUSESETWINDOW() to lock the mouse within a given
  2324.                     location on the screen.  The cursor will not be
  2325.                     permitted to move out of this area.  To remove the
  2326.                     window, use the following code:
  2327.  
  2328.                          MOUSESETWINDOW 1, 1, pbvScrnRows, pbvScrnCols
  2329.  
  2330.           SEE ALSO: MOUSESET
  2331.  
  2332.  
  2333.           MouseTerm - PROCEDURE
  2334.           ─────────────────────────────────────────────────────────────────
  2335.  
  2336.            PURPOSE: Terminates mouse operation.
  2337.  
  2338.             SYNTAX: MOUSETERM
  2339.  
  2340.            REMARKS: Use MOUSETERM() to terminate mouse operation.  This
  2341.                     procedure should be called prior to the use of any of
  2342.                     the following PowerBASIC statements:
  2343.  
  2344.                          END
  2345.                          CHAIN
  2346.                          SLEEP
  2347.  
  2348.           SEE ALSO: MOUSECURSOROFF, MOUSEINIT
  2349.  
  2350.  
  2351.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2352.           (c) Copyright 1993-94 DSE Software Publishing                  38
  2353.           PB/VISION(tm) LITE - Version 1.10
  2354.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2355.  
  2356.                                       Chapter 4
  2357.  
  2358.                                    DATA TYPES USED
  2359.  
  2360.           █████████████████████████████████████████████████████████████████
  2361.  
  2362.           MENUCOLORTYPE - TYPE
  2363.           ─────────────────────────────────────────────────────────────────
  2364.  
  2365.            PURPOSE: Menu and List definition TYPE.
  2366.  
  2367.            REMARKS: This TYPE has the following element(s):
  2368.  
  2369.                     Element        Description
  2370.                     ─────────────  ────────────────────────────────────────
  2371.                     kolor%         Color of menu/list text.
  2372.                     borderKolor%   Color of menu/list border.
  2373.                     titleKolor%    Color of menu/list title.
  2374.                     highlight%     Color of menu/list highlight bar.
  2375.                     sepbar%        Color of menu/list separator line.
  2376.                     cursor%        UNUSED
  2377.                     border%        Border style for window.
  2378.                     flags%         Help window display flags
  2379.  
  2380.                     Use the MENUCOLORTYPE type to define how menus and
  2381.                     lists will look when displayed.
  2382.  
  2383.           SEE ALSO: WINCTRLBOX
  2384.  
  2385.           WINTYPE - TYPE
  2386.           ─────────────────────────────────────────────────────────────────
  2387.  
  2388.            PURPOSE: Window definition TYPE.
  2389.  
  2390.            REMARKS: This TYPE has the following element(s):
  2391.  
  2392.                     Element        Description
  2393.                     ─────────────  ────────────────────────────────────────
  2394.                     row            Screen position where window is
  2395.                                    displayed.
  2396.                     col
  2397.                     rows           Dimensions of the displayed text portion
  2398.                                    of window.
  2399.                     cols
  2400.                     orows          Window text dimensions before re-sizing.
  2401.                     ocols
  2402.                     vrow           Starting positions of viewport into
  2403.                                    window.
  2404.                     vcol
  2405.                     vrows          Actual virtual dimensions of window.
  2406.                     vcols
  2407.                     winattr        Default color attribute of window
  2408.                                    contents.
  2409.  
  2410.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2411.           (c) Copyright 1993-94 DSE Software Publishing                  39
  2412.           PB/VISION(tm) LITE - Version 1.10
  2413.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2414.  
  2415.                     borderattr     Attribute of window border.
  2416.                     titleattr      Attribute of window title.
  2417.                     border         Border style.
  2418.                     titleLen       Length of title string.
  2419.                     Title$         Text of window title.
  2420.                     vbarPos        Window scroll bar gauge (1% to 100%).
  2421.                     hbarPos
  2422.                     flags          Flags used when window opened.
  2423.                     winmode        INTERNAL - DO NOT CHANGE.
  2424.                     UserObject     User Object Pointer.
  2425.                     unused2        FUTURE USE.
  2426.                     WI             Relative window index.
  2427.                     ObjPtr         Handle of attached window object code.
  2428.                     internal1      INTERNAL - DO NOT CHANGE.
  2429.                     signature      Signature of window.
  2430.                     cpos           Encoded window cursor position (see
  2431.                                    WINLOCATE).
  2432.                     cattr          Current window print attribute (see
  2433.                                    WINCOLOR).
  2434.                     bufferHandle   Handle of window buffer.
  2435.                     changed        Flag indicating window needs to be
  2436.                                    refreshed.
  2437.                     unused3        FUTURE USE.
  2438.                     listPtr        Top of list (if list style routine).
  2439.                     winCodePrt     Pointer to window driver.
  2440.                     winUserPtr     Pointer to WININSTALLCODE() routine.
  2441.                     srows          Screen dimensions of the displayed
  2442.                                    window.
  2443.                     scols
  2444.  
  2445.                     Use the WINTYPE type to define how windows will look
  2446.                     when displayed.
  2447.  
  2448.           SEE ALSO: WINOPEN, WINPOPUP, WINGETINFO
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2470.           (c) Copyright 1993-94 DSE Software Publishing                  40
  2471.           PB/VISION(tm) LITE - Version 1.10
  2472.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.                                         Index
  2481.  
  2482.  
  2483.                  %AUTOCLOSE 21               H
  2484.                  %AUTOSCROLL 21              HotKeyAdd 30
  2485.                  %BOTTOMBAR 21               HotKeyToggle 31
  2486.                  %CONTROL 21
  2487.                  %DRAGBAR 21                 M
  2488.                  %HSCROLLBAR 21              MapChar 8
  2489.                  %MENUBAR 5                  MapUserChar 9
  2490.                  %MINMAX 21                  MENUCOLORTYPE 39
  2491.                  %NOCOLOR 21                 Mouse 33
  2492.                  %NOHIDE 21                  MouseCursorOff 33
  2493.                  %NOHORZBORDER 21            MouseCursorOn 34
  2494.                  %NOSELECT 21                MouseGet 34
  2495.                  %NOVERTBORDER 21            MouseGetInfo 35
  2496.                  %RESIZE 21                  MouseGetPress 35
  2497.                  %SHADOW 21                  MouseGetRelease 36
  2498.                  %STATUSBAR 5                MouseInit 37
  2499.                  %VSCROLLBAR 21              MouseSet 37
  2500.                                              MouseSetWindow 38
  2501.                  A                           MouseTerm 38
  2502.                  App 5
  2503.                  App.attr 5                  T
  2504.                  App.flags 5                 TimerInstallCode 31
  2505.                  App.graphicsMode 5
  2506.                  App.graphicsMouse 5         W
  2507.                  App.menuAttr 5              WinClose 9
  2508.                  App.Pattern 5               WinCls 10
  2509.                  App.rows 5                  WinColor 10
  2510.                  App.snow 5                  WinCopy% 11
  2511.                  App.statusAttr 5            WinCtrlBox 32
  2512.                  App.title 5                 WinDeleteLine 11
  2513.                  App.titleAttr 5             WinDrawBox 11
  2514.                  AppClose 5                  WinFill 12
  2515.                  AppFontInit 6               WinGet 12
  2516.                  AppInit 6                   WinGetCursor 13
  2517.                  AppPause 6                  WinGetInfo 13
  2518.                  AppRefresh 7                WinHide 14
  2519.                  AppResume 7                 WinHotPrint 14
  2520.                  AppTitle 7                  WinInsertLine 15
  2521.                  Attr% 8                     WinInstallCode 15
  2522.                                              WinLocate 15
  2523.                  G                           WinLock 16
  2524.                  GetEvent 29                 WinLockAll 16
  2525.                                              WinLockRestore 17
  2526.                                              WinLockState% 17
  2527.  
  2528.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2529.           (c) Copyright 1993-94 DSE Software Publishing                  41
  2530.           PB/VISION(tm) LITE - Version 1.10
  2531.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  2532.  
  2533.                  WinMain 17                  WinRefreshMode 24
  2534.                  WinMaximize  18             WInResize 24
  2535.                  WinMinimize  18             WinScrollBarGet 25
  2536.                  WinModify 19                WinScrollBarSet  25
  2537.                  WinMove 20                  WinShow 26
  2538.                  WinNext 20                  WinSwapColor 26
  2539.                  WinNormalize  19            WinTitle 9
  2540.                  WinOpen% 20                 WINTYPE 39
  2541.                  WinPopup% 22                WinViewPort 27
  2542.                  WinPrev 22                  WinWrite 27
  2543.                  WinPrint 23                 WinWriteChar 27
  2544.                  WinReColor 23               WinWriteLn 28
  2545.                  WinRefresh 23
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  2588.           (c) Copyright 1993-94 DSE Software Publishing                  42
  2589.  
  2590.            ORDER FORM FOR ALL PRODUCTS FROM DSE SOFTWARE PUBLISHING
  2591.     -----------------------------------------------------------------------
  2592.     YOU CAN FAX US OR ORDER ONLINE BY CALLING OUR FAX/BBS AT (707) 459-4484
  2593.  
  2594.     TO:                           FROM:
  2595.     DSE SOFTWARE PUBLISHING       ________________________________________
  2596.     POST OFFICE BOX 96            Name
  2597.     WILLITS, CA 95490-0096        ________________________________________
  2598.     USA                           Company (ONLY if ordering for a company)
  2599.                                   ________________________________________
  2600.     Voice: (707) 459-4358         Address
  2601.     FAX/BBS: (707) 459-4484       ______________________  _____  _________
  2602.                                   City                    State  Zip
  2603.     GEnie: "DSE.SOFTWARE"         ______________________  ________________
  2604.     FidoNet: 1:125/123            Phone                   Fax
  2605.     Internet: dse@pacific.net
  2606.               dse.software@genie.geis.com
  2607.  
  2608.     ================= P R O D U C T S   R E Q U E S T E D ================
  2609.  
  2610.     ORDER    DESCRIPTION                             PRICE  QTY  EXTENDED
  2611.     -------  --------------------------------------  -----  ---  --------
  2612.     20810    PB/VISION(tm) LITE                      25.00  ___  ________
  2613.     20812    PB/VISION(tm) PRO w/ manual on disk     79.00  ___  ________
  2614.  +> 20813    PB/VISION(tm) PRO w/ printed manual     99.00  ___  ________
  2615.  |  20510    MUSIC CD TOOLKIT for PowerBASIC 3.x     19.95  ___  ________
  2616.  |  20615    dseINSTALL(tm) Software Install Util.   19.95  ___  ________
  2617.  |
  2618.  |  Shipping, Handling, and Fees (Indicate Below) .............  ________
  2619.  |  Sales Tax (CA. Residents add 7.25%) .......................  ________
  2620.  |  Total Order (United States Funds ($US FUNDS) Only) ........  ________
  2621.  |
  2622.  |  DISK SIZE  SHIPPING/HANDLING/FEES     SHIPPING NOTES
  2623.  |  ---------  -------------------------  --------------------------------
  2624.  |  [X] 3.50"  [_] USA            $ 5.50  USA / SHIPPED PRIORITY MAIL
  2625.  |      ONLY   [_] CANADA         $ 5.50  VISA/MC/POSTAL MONEY ORDER ($US)
  2626.  |             [_] OVERSEAS       $10.00  SEE "TERMS OF SALE" (below)
  2627.  +-----------> [_] OVERSEAS       $20.00  OVERSEAS WITH PRINTED MANUAL
  2628.  
  2629.     ========================== CREDIT CARD ORDERS ========================
  2630.  
  2631.     [ ] VISA         -> TOTAL ORDER : $_________ <- enter total order here
  2632.     [ ] MASTERCARD   -> CARD HOLDER : ____________________________________
  2633.                      -> CARD NUMBER : ____________________________________
  2634.     EACH LINE MUST ---> EXPIRATION  : ___ / ___
  2635.      BE FILLED IN  ---> SIGNATURE   : ____________________________________
  2636.  
  2637.     ============================ TERMS OF SALE ===========================
  2638.  
  2639.     o  All checks must be drawn on a United States bank and in $US funds.
  2640.     o  Purchase Orders:  Please call for authorization.
  2641.     o  Returned check fee: $300 (for insufficient funds.        [DSE-1094]
  2642.